分享方式:


ODBC 數據指標連結庫

適用於:SQL Server Azure SQL 資料庫 Azure SQL 受控執行個體 Azure Synapse Analytics Platform System (PDW)

某些 ODBC 驅動程式僅支援預設數據指標設定;這些驅動程式也不支援定位的數據指標作業,例如 SQLSetPos。 ODBC 數據指標連結庫是Microsoft數據存取元件 (MDAC) 的元件,用來在通常不支援它們的驅動程式上實作區塊或靜態數據指標。 數據指標連結庫也會針對它所建立的數據指標實作定位的UPDATE和DELETE語句和 SQLSetPos

ODBC 數據指標連結庫會實作為 ODBC 驅動程式管理員與 ODBC 驅動程式之間的圖層。 如果載入 ODBC 資料指標連結庫,ODBC 驅動程式管理員會將所有數據指標相關的命令路由傳送至數據指標連結庫,而不是驅動程式。 數據指標連結庫會從基礎驅動程式擷取整個結果集,並在用戶端上快取結果集,以實作數據指標。 使用 ODBC 資料指標連結庫時,應用程式會受限於數據指標連結庫的數據指標功能;基礎驅動程式中其他數據指標功能的任何支援都不適用於應用程式。

不需要搭配 SQL Server Native Client ODBC 驅動程式使用 ODBC 數據指標連結庫,因為驅動程式本身支持的數據指標功能比 ODBC 數據指標連結庫還多。 搭配 SQL Server Native Client ODBC 驅動程式使用 ODBC 資料指標連結庫的唯一原因是驅動程式透過伺服器數據指標實作其數據指標支援,而伺服器數據指標不支援所有 SQL 語句。 每當需要具有包含 COMPUTE、COMPUTE BY、FOR BROWSE 或 INTO 之預存程式、批次或 SQL 語句的靜態數據指標時,請考慮使用 ODBC 數據指標連結庫。 不過,必須小心與數據指標連結庫搭配使用,因為它會在用戶端上快取整個結果集,這可以使用大量的記憶體和緩慢的效能。

應用程式會使用 SQLSetConnectAttr,在連接到數據源之前,使用 SQLSetConnectAttr,以連接方式叫用數據指標連結庫,以設定SQL_ATTR_ODBC_CURSORS連接屬性。 SQL_ATTR_ODBC_CURSORS設定為三個值的其中一個:

SQL_CUR_USE_ODBC
使用 SQL Server Native Client ODBC 驅動程式設定此選項時,ODBC 數據指標連結庫會覆寫 SQL Server Native Client ODBC 驅動程式的原生數據指標支援。 只有數據指標連結庫所支持的數據指標類型才能用於連接;無法使用伺服器數據指標。

SQL_CUR_USE_DRIVER
設定此選項時,SQL Server Native Client ODBC 驅動程式的所有數據指標支援原生都可用於連接。 無法使用 ODBC 資料指標連結庫。 所有數據指標都會實作為伺服器數據指標。

SQL_CUR_USE_IF_NEEDED
設定此選項時,當與 SQL Server Native Client ODBC 驅動程式搭配使用時,效果會與SQL_CUR_USE_DRIVER相同。 在連接時間,ODBC 驅動程式管理員會測試要連線到的 ODBC 驅動程式是否支援 SQLFetchScrollSQL_FETCH_PRIOR 選項。 如果驅動程式不支援 選項,ODBC 驅動程式管理員會載入 ODBC 資料指標連結庫。 如果驅動程式支援 選項,ODBC 驅動程式管理員不會載入 ODBC 資料指標連結庫,而且應用程式會使用驅動程式的原生支援。 因為 SQL Server Native Client ODBC 驅動程式支援SQL_FETCH_PRIOR,因此 ODBC 驅動程式管理員不會載入 ODBC 數據指標連結庫。

數據指標連結庫可讓應用程式在連接上使用多個使用中語句,以及可捲動、可更新的數據指標。 數據指標連結庫必須載入以支援這項功能。 使用 SQLSetConnectAttr 來指定應該如何使用資料指標連結庫,以及 指定 SQLSetStmtAttr 來指定數據指標類型、並行和數據列集大小。

另請參閱

如何實作資料指標