共用方式為


ODBC 資料指標程式庫

有些 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 陳述式。 任何時候如果需要具有預存程序、批次或 SQL 陳述式 (包含 COMPUTE、COMPUTE BY、FOR BROWSE 或 INTO) 的靜態資料指標,請考慮使用 ODBC 資料指標程式庫。 不過,使用資料指標程式庫時必須小心,因為它會將整個結果集都快取在用戶端上,這可能會耗用大量的記憶體並使效能降低。

應用程式在連接到資料來源之前,會使用 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_CUR_USE_DRIVER 用於 SQL Server Native Client ODBC 驅動程式時相同。 在連接時,ODBC 驅動程式管理員會進行測試,查看正在連接的 ODBC 驅動程式是否支援 SQLFetchScroll 的 SQL_FETCH_PRIOR 選項。 如果驅動程式不支援這個選項,則 ODBC 驅動程式管理員會載入 ODBC 資料指標程式庫。 如果驅動程式支援這個選項,則 ODBC 驅動程式管理員不會載入 ODBC 資料指標程式庫,而應用程式會使用該驅動程式的原生支援。 因為 SQL Server Native Client ODBC 驅動程式支援 SQL_FETCH_PRIOR,所以 ODBC 驅動程式管理員不會載入 ODBC 資料指標程式庫。

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

請參閱

概念

如何實作資料指標