API 暗黙のトランザクション
暗黙のトランザクションは、OLE DB および ODBC アプリケーション プログラミング インターフェイス (API) の機能を使用して指定できます。
OLE DB
OLE DB には、暗黙のトランザクション モードを具体的に設定するメソッドがありません。
- 明示的なトランザクションを開始するには、ITransactionLocal::StartTransaction メソッドを呼び出します。
- fRetaining を TRUE に設定した状態で ITransaction::Commit メソッドまたは ITransaction::Abort メソッドを呼び出すと、OLE DB は現在のトランザクションを完了し、暗黙のトランザクション モードになります。ITransaction::Commit または ITransaction::Abort の fRetaining を 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 アプリケーションでは、自動コミット モードまたは明示的なトランザクションのいずれかが使用されます。