共用方式為


符合標準的應用程式和驅動程式

符合標準的應用程式或驅動程式,遵循 Open Group CAE 規格「資料管理:SQL 呼叫層級介面 (CLI)」,以及 ISO/IEC 9075-3:1995 (E) 呼叫層級介面 (SQL/CLI)。

ODBC 3.x 保證提供下列功能:

  • 遵循 Open Group 與 ISO CLI 規格的撰寫而成的應用程式,只要是透過 ODBC 3.x 標頭檔編譯並與 ODBC 3.x 程式庫連結,且透過 ODBC 3.x 驅動程式管理員取得驅動程式存取權,就可以搭配 ODBC 3.x 驅動程式或符合標準的驅動程式使用。

  • 遵循 Open Group 與 ISO CLI 規格的撰寫而成的驅動程式,只要是透過 ODBC 3.x 標頭檔編譯並與 ODBC 3.x 程式庫連結,且應用程式透過 ODBC 3.x 驅動程式管理員取得驅動程式存取權,就可以搭配 ODBC 3.x 應用程式或符合標準的應用程式使用。

符合標準的應用程式和驅動程式會使用 ODBC_STD 編譯旗標進行編譯。

符合標準的應用程式會展現下列行為:

  • 如果符合標準的應用程式呼叫 SQLAllocEnv (因為 SQLAllocEnv 是有效的 Open Group 和 ISO CLI 函式,因此可以發生),編譯時會將呼叫對應至 SQLAllocHandleStd。 因此,應用程式會在執行階段呼叫 SQLAllocHandleStd。 處理此呼叫的過程中,驅動程式管理員會將 SQL_ATTR_ODBC_VERSION 環境屬性設定為 SQL_OV_ODBC3。 呼叫 SQLAllocHandleStd 就相當於呼叫 SQLAllocHandle (其 HandleType 為 SQL_HANDLE_ENV),以及呼叫 SQLSetEnvAttr 以將 SQL_ATTR_ODBC_VERSION 設為 SQL_OV_ODBC3。

  • 如果符合標準的應用程式呼叫 SQLBindParam (因為 SQLBindParam 是有效的 Open Group 和 ISO CLI 函式,因此可以發生),ODBC 3.x 驅動程式管理員會將呼叫對應至 SQLBindParameter 中的相等對應。 (請參閱「附錄 G:回溯相容性的驅動程式指導方針」中的 SQLBindParam 對應 。)

  • 為符合 ISO CLI,ODBC 3.x 標頭檔會包含呼叫 SQLGetInfo 時使用的資訊類型別名。 符合標準的應用程式可以使用這些別名,而不是 ODBC 3.x 資訊類型。 如需詳細資訊,請參閱下一個主題標頭檔

  • 符合標準的應用程式必須確認其支援的所有功能,在搭配使用的驅動程式中都有支援。 將 SQL_ATTR_CURSOR_SCROLLABLE 陳述式屬性設定為 SQL_SCROLLABLE,並將 SQL_ATTR_CURSOR_SENSITIVITY 陳述式屬性設定為 SQL_INSENSITIVE 或 SQL_SENSITIVE,在標準中屬於選用功能,但 ODBC 3.x 核心層級並不包含,因此並非所有 ODBC 3.x 驅動程式都支援這些功能。 如果符合標準的應用程式使用這些功能,應先確認搭配使用的驅動程式有提供支援。