Показать сообщение отдельно
Старый 09.01.2014, 14:35   #1  
Kiot is offline
Kiot
Участник
 
12 / 11 (1) +
Регистрация: 25.01.2012
? Update Через ADO
Выручайте ребята, впервые не нашел примера решения моей проблемы!
Нужно проапдейтить записи напрямую в сторонней базе. Есть джоб но котором я провожу отладку кода, который должен выполнять обновление, а он не работает, точнее ругани никакой нет при выполнении кода, но тестовая запись не обновляется. Выборка для update правильная, с коннектом тоже проблем нет, по тем же параметрам соединения, получаю записи из данной БД.

Вот код из джоба:
X++:
static void test(Args _args)
{
    #PsiLogic
    #CCADO
    CCADOConnection conn;
    CCADOCommand    cmd;
    str             cs, sqlExp;
    ;

    new InteropPermission(InteropKind::ComInterop).assert();

    cs = strFmt("Provider=OraOLEDB.Oracle;Password=%1;User Id=%2;Data Source=%3",
                #Password,
                #DbName,
                #ServiceName);

    sqlExp = @"UPDATE IFOUT_T
               SET AlarmTxt = '123'
               WHERE TRXID = '5472' AND
               IFSUBSYSNAM = 'DAX'";

    if (cs)
    {
        conn = new CCADOConnection();
        try
        {
            conn.Open(cs);
        }
        catch
        {
            warning(strfmt('Соединение с базой данных %1 не установлено', #DbName));
            conn = null;
        }

        if (conn)
        {
            cmd     = new CCADOCommand();
            cmd.activeConnection(conn);

            cmd.commandText(sqlExp);
            cmd.commandType(#adCmdText);
            cmd.execute();

            conn.close();
        }
    }

    CodeAccessPermission::revertAssert();
}
Прошу прощения за несвязный текст.

Последний раз редактировалось Kiot; 09.01.2014 в 14:40.