[unixODBC-support] Array insert doesn't work with unixODBC

Markus Elsing markus.elsing at d-velop.de
Mon Aug 13 14:27:40 BST 2007


Hi all,

I ported ODBC code from windows to Linux.
Everything works except for a function that uses ODBC array insert.

What I'am doing is :
// --
    // column-wise binding
    retcode = SQLSetStmtAttr(hstmt, SQL_ATTR_PARAM_BIND_TYPE,
SQL_PARAM_BIND_BY_COLUMN, 0);
    // ..
    // status array
    retcode = SQLSetStmtAttr(hstmt, SQL_ATTR_PARAM_STATUS_PTR,
paramStatusArr, 0);
    // ..
    // number of lines to import
    retcode = SQLSetStmtAttr(hstmt, SQL_ATTR_PARAMSET_SIZE,
(SQLPOINTER)array_size, 0);
    // ..
    retcode = SQLSetStmtAttr(hstmt, SQL_ATTR_PARAMS_PROCESSED_PTR,
&rows_processed, 0);
    // ..
    SQLPrepare()
    SQLBindParameter()
    SQLExecute()
// --

This function works with ODBC32 DM unter windows but under Linux with
unixODBC 2.2.12 the process hangs.
I used the same database (oracle) and same database client (oracle 10g
instant client) on windows and Linux.

Are there any known issues regarding inserting/updating multiple rows
all at once using unixODBC ?


Thanks in advance,

Markus Elsing



More information about the unixODBC-support mailing list