API 暗黙のトランザクション

暗黙のトランザクションは、OLE DB および ODBC アプリケーション プログラミング インターフェイス (API) の機能を使用して指定できます。

OLE DB

OLE DB には、暗黙のトランザクション モードを具体的に設定するメソッドがありません。

  • 明示的なトランザクションを開始するには、ITransactionLocal::StartTransaction メソッドを呼び出します。

  • fRetaining を TRUE に設定した状態で ITransaction::Commit メソッドまたは ITransaction::Abort メソッドを呼び出すと、OLE DB は現在のトランザクションを完了し、暗黙のトランザクション モードになります。ITransaction::Commit または ITransaction::AbortfRetaining を TRUE に設定している限り、接続は暗黙のトランザクション モードのままになります。

  • 暗黙のトランザクション モードを停止するには、fRetaining を FALSE に設定した状態で ITransaction::Commit または ITransaction::Abort を呼び出します。

ODBC

  • 暗黙のトランザクション モードを開始するには、Attribute を SQL_ATTR_AUTOCOMMIT に設定し、ValuePtr を SQL_AUTOCOMMIT_OFF に設定した状態で SQLSetConnectAttr 関数を呼び出します。

  • Attribute を SQL_ATTR_AUTOCOMMIT に設定し、ValuePtr を SQL_AUTOCOMMIT_ON に設定した状態で SQLSetConnectAttr を呼び出すまで、接続は暗黙のトランザクション モードのままになります。

  • 各トランザクションをコミットまたはロールバックするには、CompletionType を SQL_COMMIT または SQL_ROLLBACK に設定した状態で SQLEndTran 関数を呼び出します。

  • ODBC アプリケーションによって SQL_AUTOCOMMIT_OFF が設定されると、SQL Server ODBC ドライバにより SET IMPLICIT_TRANSACTION ON ステートメントが実行されます。

ADO

ADO は暗黙のトランザクションをサポートしていません。ADO アプリケーションでは、自動コミット モードまたは明示的なトランザクションのいずれかが使用されます。