The following table shows function support in an ODBC 3.x driver and an ODBC application, and the mapping performed by the Driver Manager when the functions are called against an ODBC 3.x driver.
Function |
Supported by an ODBC 3.x driver? |
Supported by an ODBC 3.x application? |
Mapped/supported by the ODBC 3.x Driver Manager to an ODBC 3.x driver? |
SQLAllocConnect | No | No [1] | Yes |
SQLAllocEnv | No | No [1] | Yes |
SQLAllocHandle | Yes | Yes | No |
SQLAllocStmt | No | No [1] | Yes |
SQLBindCol | Yes | Yes | No |
SQLBindParam | No | Yes [2] | Yes |
SQLBindParameter | Yes | Yes | No |
SQLBrowseConnect | Yes | Yes | No |
SQLCancel | Yes | Yes | No |
SQLCloseCursor | Yes | Yes | No |
SQLColAttribute | Yes | Yes | No |
SQLColAttributes | No [3] | No | Yes |
SQLColumnPrivileges | Yes | Yes | No |
SQLColumns | Yes | Yes | No |
SQLConnect | Yes | Yes | No |
SQLCopyDesc | Yes | Yes | Yes [4] |
SQLDataSources | No | Yes | Yes |
SQLDescribeCol | Yes | Yes | No |
SQLDescribeParam | Yes | Yes | No |
SQLDisconnect | Yes | Yes | No |
SQLDriverConnect | Yes | Yes | No |
SQLDrivers | No | Yes | Yes |
SQLEndTran | Yes | Yes | No |
SQLError | No | No [1] | Yes |
SQLExecDirect | Yes | Yes | No |
SQLExecute | Yes | Yes | No |
SQLExtendedFetch | Yes | No | No |
SQLFetch | Yes | Yes | No |
SQLFetchScroll | Yes | Yes | No |
SQLForeignKeys | Yes | Yes | No |
SQLFreeConnect | No | Yes [1] | Yes |
SQLFreeEnv | No | Yes [1] | Yes |
SQLFreeHandle | Yes | Yes | No |
SQLFreeStmt | Yes | Yes | No |
SQLGetConnectAttr | Yes | Yes | No |
SQLGetConnectOption | No [5] | No [1] | Yes |
SQLGetCursorName | Yes | Yes | No |
SQLGetData | Yes | Yes | No |
SQLGetDescField | Yes | Yes | No |
SQLGetDescRec | Yes | Yes | No |
SQLGetDiagField | Yes | Yes | No |
SQLGetDiagRec | Yes | Yes | No |
SQLGetEnvAttr | Yes | Yes | No |
SQLGetFunctions | No [6] | Yes | Yes |
SQLGetInfo | Yes | Yes | No |
SQLGetStmtAttr | Yes | Yes | No |
SQLGetStmtOption | No [5] | No [1] | Yes |
SQLGetTypeInfo | Yes | Yes | No |
SQLMoreResults | Yes | Yes | No |
SQLNativeSql | Yes | Yes | No |
SQLNumParams | Yes | Yes | No |
SQLNumResultCols | Yes | Yes | No |
SQLParamData | Yes | Yes | No |
SQLParamOptions | No | No | Yes |
SQLPrepare | Yes | Yes | No |
SQLPrimaryKeys | Yes | Yes | No |
SQLProcedureColumns | Yes | Yes | No |
SQLProcedures | Yes | Yes | No |
SQLPutData | Yes | Yes | No |
SQLRowCount | Yes | Yes | No |
SQLSetConnectAttr | Yes | Yes | No |
SQLSetConnectOption | No [5] | No [1] | Yes |
SQLSetCursorName | Yes | Yes | No |
SQLSetDescField | Yes | Yes | No |
SQLSetDescRec | Yes | Yes | No |
SQLSetEnvAttr | Yes | Yes | No |
SQLSetPos | Yes | Yes | No |
SQLSetParam | No | No | Yes |
SQLSetScrollOption | Yes | Yes | No |
SQLSetStmtAttr | Yes | Yes | No |
SQLSetStmtOption | No [5] | No [1] | Yes |
SQLSpecialColumns | Yes | Yes | No |
SQLStatistics | Yes | Yes | No |
SQLTablePrivileges | Yes | Yes | No |
SQLTables | Yes | Yes | No |
SQLTransact | No | No [1] | Yes |
[1] This function is deprecated in ODBC 3.x. ODBC 3.x applications should not use this function. However, an X/Open or ISO CLI – compliant application can call this function.
[2] ODBC 3.x applications should use SQLBindParameter instead of SQLBindParam. However, an X/Open or ISO CLI – compliant application can call this function.
[3] Driver writers note that the ODBC 2.x column attributes SQL_COLUMN_PRECISION, SQL_COLUMN_SCALE, and SQL_COLUMN_LENGTH must be supported with SQLColAttribute.
[4] Note that SQLCopyDesc is partially implemented by the Driver Manager when a descriptor is being copied across connections that belong to different drivers. Drivers are required to support SQLCopyDesc across two of their own connections. Functions such as SQLDrivers, which are implemented solely by the Driver Manager, do not show up on this list.
[5] Under certain circumstances, drivers may need to support this function. See the reference manual page for this function for more information.
[6] The driver may choose to support SQLGetFunctions if the functions that it supports varies from connection to connection.