Mapping ODBC Calls to Third-party SQL Engine API Calls
- Last Updated: May 12, 2026
- 2 minute read
- OpenAccess SDK
- Version 8.1
- Documentation
This section describes the third-party SQL engine API functions that are invoked in processing various ODBC requests from a client application. Only the ODBC functions that result in the execution of third-party SQL engine functions are listed. All other ODBC functions are handled on the client side. Refer to the OpenAccess SDK Client Reference for information on the client-side functions.
The JDBC and ADO.NET clients generate a similar sequence of calls.
Mapping ODBC Functions to Third-party SQL Engine IP Functions
| ODBC Function | SQL IP Function |
| SQLConnect | OASQLIP_alloc_connect OASQLIP_connect |
| SQLDisconnect | OASQLIP_disconnect OASQLIP_free_connect |
| SQLExecDirect | OASQLIP_alloc_stmt OASQLIP_set_stmt_info if parameters, then OASQLIP_init_param OASQLIP_execute_direct_stmt OASQLIP_get_numcols OASQLIP_get_colspec... If the statement returns 1 or more columns, which is the case for Select and stored procedure calls, then the following sequence is executed until OASQLIP_fetch_row indicates that it is at end of the current buffer or at the end of the result set. OASQLIP_fetch_row OASQLIP_get_colval If end of the rowset is returned, then close the cursor. OASQLIP_close_cursor |
| SQLExecute | OASQLIP_set_stmt_info if parameters, then OASQLIP_init_param OASQLIP_execute_stmt OASQLIP_get_numcols OASQLIP_get_colspec... If the statement returns one or more columns, which is the case for Select and stored procedure calls, the following sequence is executed until OASQLIP_fetch_row indicates that it is at end of the current buffer or at the end of the result set. OASQLIP_fetch_row OASQLIP_get_colvalIf end of the rowset is returned, then close the cursor. OASQLIP_close_cursor |
| SQLFetch | If the client side buffer is exhausted, then: OASQLIP_get_numcols OASQLIP_get_colspec... If the statement returns > 0 columns, which is the case for Select and stored procedure calls, then the following sequence is executed until OASQLIP_fetch_row indicates that it is at end of the current buffer or at the end of the result set. OASQLIP_fetch_row OASQLIP_get_colval If end of the rowset is returned, then close the cursor. OASQLIP_close_cursor |
| SQLFreeStmt(SQL_CLOSE) | if cursor open, OASQLIP_close_cursor OASQLIP_free_stmt |
| SQLPrepare | OASQLIP_alloc_stmt OASQLIP_set_connect_info OASQLIP_prepare_stmt OASQLIP_get_numparams OASQLIP_get_numcols if columns, then OASQLIP_get_colspec... OASQLIP_get_numparams if parameters, then OASQLIP_get_paramspec... |