ODBC SQLBulkOperations and Oracle

Тема в разделе "WASM.WIN32", создана пользователем Miller Rabin, 17 мар 2006.

  1. Miller Rabin

    Miller Rabin New Member

    Публикаций:
    0
    Регистрация:
    4 янв 2006
    Сообщения:
    185
    Добрый день!

    Пытаюсь добавлять записи с помощью SQLBulkOperations

    Сервер Oracle10g. Программа отрабатывает успешно.

    Однако таблица при последующем просмотре все равно оказывается пустой.

    ЧТО НЕ ТАК?



    Вот текст программы.



    struc Row id,sizeid, Value, sizevalue

    {

    .id DD id

    .sizeid DD sizeid

    .Value DD Value

    .sizevalue DD sizevalue

    }



    probe Row 1, 4,100,4

    _InsertCall DB 'Select * from Temp',0





    invoke SQLAllocHandle, SQL_HANDLE_STMT, [BDDATA.hConn], InsertCallSTMT



    invoke SQLSetStmtAttr, [InsertCallSTMT], SQL_ATTR_CURSOR_TYPE, SQL_CURSOR_DYNAMIC, 0

    invoke SQLSetStmtAttr, [InsertCallSTMT], SQL_ATTR_CONCURRENCY, SQL_CONCUR_LOCK, 0

    invoke SQLSetStmtAttr, [InsertCallSTMT], SQL_ATTR_ROW_ARRAY_SIZE, 1, 0

    invoke SQLSetStmtAttr, [InsertCallSTMT], SQL_ATTR_ROW_BIND_TYPE, 16, 0



    mov ebx, probe

    mov esi,ebx

    add esi,4

    invoke SQLBindCol, [InsertCallSTMT],1, SQL_INTEGER, ebx,0, esi

    add ebx,8

    add esi,8

    invoke SQLBindCol, [InsertCallSTMT],2, SQL_INTEGER, ebx,0, esi

    invoke SQLExecDirect, [InsertCallSTMT], _InsertCall,SQL_NTS



    invoke SQLBulkOperations, [InsertCallSTMT], SQL_ADD



    invoke SQLEndTran, SQL_HANDLE_DBC, [BDDATA.hConn],0

    invoke SQLFreeStmt, [InsertCallSTMT], SQL_CLOSE



    может какой супер Commit надо вызвать?