Cursors
In the current Firebird ODBC/JDBC driver, the Dynamic and Keyset cursors are modified to use the Static cursor, through which it is not possible to update sets.
For best performance, use the cursor ForwardOnly
.
The read operators SQLFetch
, SQLExtendedFetch
and SQLScrollFetch
use SQL_ROWSET_SIZE
and SQL_ATTR_ROW_ARRAY_SIZE
.
For best performance using BLOB fields, use the operator SQLBindParameter
, regardless of the size of the BLOB field, as this will work much faster than using SQLPutData
/SQLGetData
.
To use the Firebird driver’s cursors, call the following statements:
// Specify that the Firebird ODBC Cursor is always used, then connect.
SQLSetConnectAttr( hdbc, SQL_ATTR_ODBC_CURSORS, (SQLPOINTER)SQL_CUR_USE_DRIVER, 0 );
SQLConnect( hdbc, (UCHAR*)connectString, SQL_NTS, NULL, 0, NULL, 0 );