連線控制代碼

連線是由驅動程式和資料來源所組成。 連線控制代碼可識別每個連線。 連線控制代碼不僅會定義要使用的驅動程式,也會定義要與該驅動程式搭配使用的資料來源。 在實作 ODBC (驅動程式管理員或驅動程式) 的程式碼區段中,連線控制代碼會識別包含連線資訊的結構,例如:

  • 連線的狀態

  • 目前的連線層級診斷

  • 目前在連線上配置的陳述式和描述元控制代碼

  • 每個連線屬性的目前設定

如果驅動程式支援多個同時連線,則 ODBC 不會加以阻止。 因此,在特定 ODBC 環境中,多個連線控制代碼可能會指向各種驅動程式和資料來源、相同的驅動程式和各種資料來源,或甚至指向相同驅動程式和資料來源的多個連線。 某些驅動程式會限制其支援的作用中連線數目;SQLGetInfo 中的 [SQL_MAX_DRIVER_CONNECTIONS] 選項會指定特定驅動程式支援的作用中連線數目。

連線控制代碼主要用於連線至資料來源 (SQLConnectSQLDriverConnectSQLBrowseConnect)、從資料來源 (SQLDisconnect) 中斷連線、取得驅動程式和資料來源 (SQLGetInfo) 的相關資訊、擷取診斷 (SQLGetDiagFieldSQLGetDiagRec),以及執行交易 (SQLEndTran)。 設定和取得連線屬性 (SQLSetConnectAttrSQLGetConnectAttr) 時,以及取得 SQL 陳述式 (SQLNativeSql) 的原生格式時,也會使用這些控制代碼。

連線控制代碼會以 SQLAllocHandle 配置,並使用 SQLFreeHandle 釋放。