AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 01.10.2009, 08:16   #1  
AXbeginer is offline
AXbeginer
Участник
 
20 / 10 (1) +
Регистрация: 01.10.2009
Импорт в АХ через ODBC
Здравствуйте, с недавних пор начал программировать в АХ и возникли проблемы ,а спросить не у кого (нет рядом программиста АХ). Суть вопроса: Нужно получить данные из внешней базы и записать в базу АХ создал кнопку на форме ProdTable, создал метод на кнопке который получает данные
X++:
void method1()
{
   ProdTable ProdTabl;
     ProdBOM    ProdBom;
     LoginProperty           LP = new LoginProperty();
     OdbcConnection          myConnection;
     Statement               myStatement;
     ResultSet               myResult,myResultLine;
     Str    s;
     str 50 CRProdid,Item;
     real   LostQty,DifQty;

     prodTableChangeQtySched    PQS = new prodTableChangeQtySched();
     ProdTabl = ProdTable;
     ProdBom = ProdBOM;
     LP.setDSN("TransferConnection");
    info(ProdTabl.collectrefprodid);
    try
    {
        myConnection = new OdbcConnection(LP);
        myStatement = myConnection.createStatement();
        myResult = myStatement.executeQuery(
            strfmt("Select excontrolqty,primor,collectrefprodid from ShiftReportPourHeader " +
                   "Where DataAreaId = '%1' and collectrefprodid = '%2'",
                    curext(),ProdTable.collectrefprodid));
        while (myResult.next())
        {   s = int2str(myResult.getInt(2));
            CRProdid=myResult.getString(3);
        info(s);
            myResultLine = myStatement.executeQuery(strfmt("Select CAST(LostQty AS numeric(15, 8)) AS exp1,CAST(DiffectQty AS numeric(15, 8)) AS exp1,ItemId from ShiftReportPourLine " +
            "Where primor = '%1'",s));
//*****************************************
// LostQty ,DiffectQty - типа float 
            while (myResultLine.next())
            {
            Item=myResultLine.getString(3);
            LostQty=myResultLine.getReal(1);
            info(num2str(LostQty,6,3,1,1));
            ttsbegin;
            select forupdate * from Prodbom where Prodbom.ProdId==CRProdid && Prodbom.ItemId==Item;
                info('Go');

                Prodbom.ScrapConst =LostQty;
              ttscommit;
            ttsbegin;
            info('go2');
                Prodbom.update();
            ttscommit;
            }
        info('go2');
        ProdTabl.QtySched=myResult.getReal(1);
        PQS.parmProdTable(ProdTable);
        myStatement.executeUpdate(strfmt("Update ShiftReportPourHeader Set posted = 1 Where primor = %1 (1 = 0)", s));

        }

    }
    catch
    {
        throw("Check DSN settings (username/password).");
    }


}
а итоге он выдает ошибки
1 (X) Невозможно выполнить требуемую операцию с базой данных. Операция закончилась неудачно.
(!) [Microsoft][SQL Native Client]Invalid Descriptor Index

2 (X) Невозможно считать запись из ().
База данных SQL обнаружила ошибку.
(!) [Microsoft][SQL Native Client]Invalid Descriptor Index


У меня есть предположение что это проблема именно с типом данных LostQty и DiffectQty. Пытался проверить по средством выставления info потому что debager не работает(хотя включен может из за того что метод на кнопке). Так же пытался перевести в тип numeric тоже самое.
Теги
odbc, импорт, импорт данных, отладчик

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Построчный импорт из Excel через COM _and DAX: Программирование 3 05.07.2011 14:05
Построчный импорт из Excel через COM olesh DAX: Программирование 20 23.10.2008 14:01
Чтение данных из SQL Server через ODBC. Не работает в 3-х звенке sukhanchik DAX: Программирование 7 30.05.2005 17:52
Импорт данных из ODBC источника JohNick DAX: Программирование 4 09.04.2004 10:17
А могет ли Акса 2.5 или 3 работать с Ораклом не через ODBC,а через что-нить пошустрее asaev DAX: Администрирование 2 29.03.2004 20:35

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 22:02.