Export (0) Print
Expand All

Writing ODBC 3.x Drivers

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

SQLBulkOperations

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 Open Group or ISO CLI–compliant application can call this function.

[2]   ODBC 3.x applications should use SQLBindParameter instead of SQLBindParam. However, an Open Group or ISO CLI–compliant application can call this function.

[3]   Driver writers should note that the ODBC 2.x column attributes SQL_COLUMN_PRECISION, SQL_COLUMN_SCALE, and SQL_COLUMN_LENGTH must be supported with SQLColAttribute.

[4]   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. For more information, see this function's reference page.

[6]   The driver can choose to support SQLGetFunctions if the set of functions that the driver supports varies from connection to connection.

Show:
© 2015 Microsoft