異動支援
交易的支援程度是由驅動程式定義。 ODBC 的設計目的是要在不需要管理其資料的多個更新的單一使用者或桌面資料庫上實作。 此外,某些支援交易的資料庫只會針對 SQL 的資料操作語言 (DML) 陳述式執行此動作;當交易作用中,有使用資料定義語言 (DDL) 的相關限制或特殊交易語意。 也就是說,交易可能支援對資料表進行多個同時更新,但不支援在交易期間變更資料表的數目和定義。
應用程式會使用 SQL_TXN_CAPABLE 選項呼叫 SQLGetInfo,判斷是否支援交易、是否可以在交易中包含 DDL,以及在交易中包含 DDL 的任何特殊效果。 如需詳細資訊,請參閱 SQLGetInfo 函數描述。
如果驅動程式不支援交易,但應用程式能夠 (使用 ODBC) 以外的 API) 來鎖定和解除鎖定資料,則應用程式可以視需要透過鎖定和解除鎖定記錄和資料表來達成交易支援。 若要實作帳戶轉移範例,應用程式會鎖定這兩個帳戶的記錄、複製目前的值、刪除第一個帳戶、增加第二個帳戶,以及解除鎖定記錄。 如果有任何步驟失敗,應用程式會使用複本重設帳戶。
即使是支援交易的資料來源也可能無法在特定環境中一次支援一個以上的交易。 應用程式會使用 SQL_MULTIPLE_ACTIVE_TXN 選項呼叫 SQLGetInfo,以判斷資料來源是否可以在相同環境中多個連線上支援同時作用中的交易。 由於每個連線有一個交易,因此只有有對相同資料來源的多個連線時,應用程式才會感興趣。