Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 12.0.1 » SQL Anywhere サーバー プログラミング » アプリケーションでの SQL の使用 » アプリケーション内のトランザクション » オートコミットまたは手動コミットモード

 

オートコミットの動作を制御する

アプリケーションのコミット動作を制御する方法は、使用しているプログラミングインターフェイスによって異なります。オートコミットの実装は、インターフェイスに応じて、クライアント側またはサーバー側で行うことができます。オートコミット実装の詳細を参照してください。

 ♦ オートコミットモードの制御 (ADO.NET)
  • デフォルトでは、ADO.NET プロバイダーはオートコミットモードで動作します。明示的トランザクションを使用するには、SAConnection.BeginTransaction メソッドを使用します。Transaction 処理を参照してください。

 ♦ オートコミットモードの制御 (OLE DB)
  • デフォルトでは、OLE DB プロバイダーはオートコミットモードで動作します。明示的トランザクションを使用するには、ITransactionLocal::StartTransaction、ITransaction::Commit、ITransaction::Abort メソッドを使用します。

 ♦ オートコミットモードの制御 (ODBC)
  • デフォルトでは、ODBC はオートコミットモードで動作します。オートコミットを OFF にする方法は、ODBC を直接使用しているか、アプリケーション開発ツールを使用しているかによって異なります。ODBC インターフェイスに直接プログラミングしている場合には、SQL_ATTR_AUTOCOMMIT 接続属性を設定してください。

 ♦ オートコミットモードの制御 (JDBC)
  • デフォルトでは、JDBC はオートコミットモードで動作します。オートコミットモードを OFF にするには、次に示すように、接続オブジェクトの setAutoCommit メソッドを使用します。

    conn.setAutoCommit( false );
 ♦ オートコミットモードの制御 (Embedded SQL)
  • デフォルトでは、Embedded SQL アプリケーションは手動コミットモードで動作します。オートコミットを ON にするには、次の文を実行して chained データベースオプション (サーバー側オプション) を Off に設定します。

    SET OPTION chained='Off';
 ♦ オートコミットモードの制御 (Open Client)
  • デフォルトでは、Open Client 経由で行われた接続はオートコミットモードで動作します。この動作を変更するには、次の文を使用して、作業中のアプリケーションで chained データベースオプション (サーバー側オプション) を On に設定します。

    SET OPTION chained='On';
 ♦ オートコミットモードの制御 (PHP)
  • デフォルトでは、PHP はオートコミットモードで動作します。オートコミットモードを OFF にするには、sqlanywhere_set_option 関数を使用します。

    $result = sasql_set_option( $conn, "auto_commit", "Off" );
 ♦ オートコミットモードの制御 (サーバーの場合)
  • デフォルトでは、データベースサーバーは手動コミットモードで動作します。オートコミットを ON にするには、次の文を実行して chained データベースオプション (サーバー側オプション) を Off に設定します。

    SET OPTION chained='Off';

    クライアント側でコミットを制御するインターフェイスを使用している場合、chained データベースオプション (サーバー側オプション) がアプリケーションのパフォーマンスや動作に影響する場合があります。サーバーの連鎖モードを設定することはおすすめしません。

オートコミットまたは手動コミットモードを参照してください。