書籤類型

ODBC 3.x 中的所有書籤都是可變長度的書籤。 這可讓主索引鍵或與資料表相關聯的唯一索引做為書籤。 書籤也可以是 32 位元的值,如同 ODBC 2.x 中使用的一樣。 若要指定書籤與資料指標搭配使用,ODBC 3.x 應用程式會將 SQL_ATTR_USE_BOOKMARK 陳述式屬性設定為 SQL_UB_VARIABLE。 系統會自動使用可變長度書籤。

應用程式可以呼叫 SQLColAttribute,並將 FieldIdentifier 引數設定為 SQL_DESC_OCTET_LENGTH,以取得書籤的長度。 因為可變長度書籤可以是長值,所以應用程式不應該繫結至資料行 0,除非它會針對資料列集中的許多資料列使用書籤。

固定長度書籤僅支援回溯相容性。 如果與 ODBC 3.x 驅動程式搭配使用的 ODBC 2.x 應用程式呼叫 SQLSetStmtOption,將 SQL_USE_BOOKMARKS 設定為 SQL_UB_ON,它會在驅動程式管理員中對應至 SQL_UB_VARIABLE。 即使只填入 32 位元,也會使用可變長度書籤。 如果驅動程式支援固定長度書籤,則會支援可變長度書籤。 如果與 ODBC 2.x 驅動程式搭配使用的 ODBC 3.x 應用程式呼叫 SQLSetStmtAttr,將 SQL_ATTR_USE_BOOKMARKS 設定為 SQL_UB_VARIABLE,它會在驅動程式管理員中對應至 SQL_UB_ON,並使用 32 位元固定長度書籤。 SQL_ATTR_FETCH_BOOKMARK_PTR 陳述式屬性接著必須指向 32 位元書籤。 如果使用的書籤超過 32 位元,例如當主索引鍵作為書籤使用時,資料指標必須將實際值對應至 32 位元值。 例如,它可以建置它們的雜湊表。 與 ODBC 2.x 驅動程式搭配使用的 ODBC 3.x 應用程式繫結書籤時,緩衝區長度必須為 4。