撰寫 ODBC 3.x 驅動程式
下表說明 ODBC 3.x 驅動程式和 ODBC 應用程式中的函式支援,以及在針對 ODBC 3.x 驅動程式呼叫函式時,由驅動程式管理員執行的對應。
函式 | 支援 透過 ODBC 3.x 驅動程式? |
支援 透過 ODBC 3.x 應用程式? |
對應/支援 由 ODBC 3.x 驅動程式管理員至 ODBC 3.x 驅動程式? |
---|---|---|---|
SQLAllocConnect | No | 否 [1] | Yes |
SQLAllocEnv | No | 否 [1] | Yes |
SQLAllocHandle | Yes | .是 | 否 |
SQLAllocStmt | No | 否 [1] | Yes |
SQLBindCol | Yes | .是 | 否 |
SQLBindParam | No | 是 [2] | Yes |
SQLBindParameter | Yes | .是 | 否 |
SQLBrowseConnect | Yes | .是 | 否 |
SQLBulkOperations | Yes | .是 | 否 |
SQLCancel | Yes | .是 | 否 |
SQLCloseCursor | Yes | .是 | 否 |
SQLColAttribute | Yes | .是 | 否 |
SQLColAttributes | 否 [3] | No | Yes |
SQLColumnPrivileges | Yes | .是 | 否 |
SQLColumns | Yes | .是 | 否 |
SQLConnect | Yes | .是 | 否 |
SQLCopyDesc | Yes | Yes | 是 [4] |
SQLDataSources | No | .是 | Yes |
SQLDescribeCol | Yes | .是 | 否 |
SQLDescribeParam | Yes | .是 | 否 |
SQLDisconnect | Yes | .是 | 否 |
SQLDriverConnect | Yes | .是 | 否 |
SQLDrivers | No | .是 | Yes |
SQLEndTran | Yes | .是 | 否 |
SQLError | No | 否 [1] | Yes |
SQLExecDirect | Yes | .是 | 否 |
SQLExecute | Yes | .是 | 否 |
SQLExtendedFetch | 是 | 無 | No |
SQLFetch | Yes | .是 | 否 |
SQLFetchScroll | Yes | .是 | 否 |
SQLForeignKeys | Yes | .是 | 否 |
SQLFreeConnect | No | 是 [1] | Yes |
SQLFreeEnv | No | 是 [1] | Yes |
SQLFreeHandle | Yes | .是 | 否 |
SQLFreeStmt | Yes | .是 | 否 |
SQLGetConnectAttr | Yes | .是 | 否 |
SQLGetConnectOption | 否 [5] | 否 [1] | Yes |
SQLGetCursorName | Yes | .是 | 否 |
SQLGetData | Yes | .是 | 否 |
SQLGetDescField | Yes | .是 | 否 |
SQLGetDescRec | Yes | .是 | 否 |
SQLGetDiagField | Yes | .是 | 否 |
SQLGetDiagRec | Yes | .是 | 否 |
SQLGetEnvAttr | Yes | .是 | 否 |
SQLGetFunctions | 否 [6] | Yes | Yes |
SQLGetInfo | Yes | .是 | 否 |
SQLGetStmtAttr | Yes | .是 | 否 |
SQLGetStmtOption | 否 [5] | 否 [1] | Yes |
SQLGetTypeInfo | Yes | .是 | 否 |
SQLMoreResults | Yes | .是 | 否 |
SQLNativeSql | Yes | .是 | 否 |
SQLNumParams | Yes | .是 | 否 |
SQLNumResultCols | Yes | .是 | 否 |
SQLParamData | Yes | .是 | 否 |
SQLParamOptions | No | 無 | Yes |
SQLPrepare | Yes | .是 | 否 |
SQLPrimaryKeys | Yes | .是 | 否 |
SQLProcedureColumns | Yes | .是 | 否 |
SQLProcedures | Yes | .是 | 否 |
SQLPutData | Yes | .是 | 否 |
SQLRowCount | Yes | .是 | 否 |
SQLSetConnectAttr | Yes | .是 | 否 |
SQLSetConnectOption | 否 [5] | 否 [1] | Yes |
SQLSetCursorName | Yes | .是 | 否 |
SQLSetDescField | Yes | .是 | 否 |
SQLSetDescRec | Yes | .是 | 否 |
SQLSetEnvAttr | Yes | .是 | 否 |
SQLSetPos | Yes | .是 | 否 |
SQLSetParam | No | 無 | Yes |
SQLSetScrollOption | Yes | .是 | 否 |
SQLSetStmtAttr | Yes | .是 | 否 |
SQLSetStmtOption | 否 [5] | 否 [1] | Yes |
SQLSpecialColumns | Yes | .是 | 否 |
SQLStatistics | Yes | .是 | 否 |
SQLTablePrivileges | Yes | .是 | 否 |
SQLTables | Yes | .是 | 否 |
SQLTransact | No | 否 [1] | Yes |
[1] 此函式在 ODBC 3.x 中已被取代。 ODBC 3.x 應用程式不應使用此函式。 不過,Open Group 或符合 ISO CLI 規範的應用程式可以呼叫此函式。
[2] ODBC 3.x 應用程式應使用 SQLBindParameter,而非 SQLBindParam。 不過,Open Group 或符合 ISO CLI 規範的應用程式可以呼叫此函式。
[3] 驅動程式撰寫者應該注意 ODBC 2.x 的資料行屬性 SQL_COLUMN_PRECISION、SQL_COLUMN_SCALE 和 SQL_COLUMN_LENGTH 必須受 SQLColAttribute 支援。
[4] 當描述項複製到分屬不同驅動程式的連線時,驅動程式管理員會部分實作 SQLCopyDesc。 驅動程式必須跨其兩個連線支援 SQLCopyDesc。 完全由驅動程式管理員實作的函式 (如 SQLDrivers) 不會顯示在此清單中。
[5] 在某些情況下,驅動程式可能需要支援此函式。 如需詳細資訊,請參閱此函式的參考頁面。
[6] 如果驅動程式支援的函式集會因連線而異,驅動程式可以選擇支援 SQLGetFunctions。