skip to main content
Overview : Mapping ODBC Calls to Third-party SQL Engine API Calls
 

Mapping ODBC Calls to Third-party SQL Engine API Calls

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.
 
Table 4: 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_colval
If 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...