オートコミットモードでは、使用するインタフェースやプロバイダ、またはオートコミット動作の制御方法に応じて、やや動作が異なります。
オートコミットモードは、次のいずれかの方法で実装できます。
クライアント側オートコミット アプリケーションがオートコミットを使用すると、各 SQL 文の実行後、クライアントライブラリが COMMIT 文を送信します。
ADO.NET、ADO/OLE DB、ODBC、PHP、SQL Anywhere JDBC のドライバアプリケーションでは、クライアント側からコミットの動作を制御します。
サーバ側オートコミット アプリケーションで連鎖モードを OFF にすると、データベースサーバは各 SQL 文の結果をコミットします。Sybase jConnect JDBC ドライバの場合、この動作は chained データベースオプションによって制御されます。
Embedded SQL、jConnect ドライバ、Open Client のアプリケーションでは、サーバ側でのコミット動作を操作します (たとえば、chained オプションを設定します)。
ストアドプロシージャやトリガなどの複雑な文では、クライアント側オートコミットとサーバ側オートコミットには違いがあります。クライアント側では、ストアドプロシージャは単一文であるため、オートコミットはプロシージャがすべて実行された後に単一のコミット文を送信します。データベースサーバ側から見た場合、ストアドプロシージャは複数の SQL 文で構成されているため、サーバ側オートコミットはプロシージャ内の各 SQL 文の結果をコミットします。
クライアント側の実装とサーバ側の実装を混在させないでくださいSQL Anywhere ADO.NET、OLE DB、ODBC、PHP、JDBC のアプリケーションでは、chained オプションとオートコミットオプションの設定を併用しないでください。
![]() |
DocCommentXchange で意見交換できます
|
Copyright © 2013, SAP AG or an SAP affiliate company. - SAP Sybase SQL Anywhere 16.0 |