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 サーバー プログラミング » ODBC サポート » ODBC アプリケーションの結果セット

 

ODBC トランザクションの独立性レベル

SQLSetConnectAttr を使用して、接続に関するトランザクションの独立性レベルを設定できます。SQL Anywhere に用意されているトランザクションの独立性レベルを決定する特性は、次のとおりです。

  • SQL_TXN_READ_UNCOMMITTED   独立性レベルを 0 に設定します。この属性値を設定すると、別のユーザーによる変更から読み込まれたデータは分離され、その変更内容は表示されません。READ 文の再実行は別のユーザーによって影響されます。繰り返し可能読み出しはサポートされていません。これは独立性レベルのデフォルト値です。

  • SQL_TXN_READ_COMMITTED   独立性レベルを 1 に設定します。この属性値を設定すると、別のユーザーによる変更から読み込まれたデータは分離されず、その変更内容は表示されます。READ 文の再実行は別のユーザーによって影響されます。繰り返し可能読み出しはサポートされていません。

  • SQL_TXN_REPEATABLE_READ   独立性レベルを 2 に設定します。この属性値を設定すると、別のユーザーによる変更から読み込まれたデータは分離され、その変更内容は表示されません。READ 文の再実行は別のユーザーによって影響されます。繰り返し可能読み出しはサポートされています。

  • SQL_TXN_SERIALIZABLE   独立性レベルを 3 に設定します。この属性値を設定すると、別のユーザーによる変更から読み込まれたデータは分離され、その変更内容は表示されません。READ 文の再実行は別のユーザーによって影響されません。繰り返し可能読み出しはサポートされています。

  • SA_SQL_TXN_SNAPSHOT   独立性レベルを Snapshot に設定します。この属性値を設定すると、トランザクション全体のデータベースに関する単一ビューが表示されます。

  • SA_SQL_TXN_STATEMENT_SNAPSHOT   独立性レベルを Statement-snapshot に設定します。この属性値を設定すると、Snapshot 独立性よりデータの整合性は低くなりますが、トランザクションを長時間実行したためにバージョン情報を格納するテンポラリファイルのサイズが大きくなりすぎる場合には有益です。

  • SA_SQL_TXN_READONLY_STATEMENT_SNAPSHOT   独立性レベルを Readonly-statement-snapshot に設定します。この属性値を設定すると、Statement-snapshot 独立性よりデータの整合性は低くなりますが、更新の競合は回避されます。このため、この属性は元々異なる独立性レベルで実行することを想定していたアプリケーションを移植するのに最も適しています。

Snapshot、Statement-snapshot、または Readonly-statement-snapshot を使用する場合は、allow_snapshot_isolation を On に設定する必要があります。

詳細については、[external link] http://msdn.microsoft.com/en-us/library/ms713605.aspxにある Microsoft の『ODBC API Reference』の「SQLSetConnectAttr」を参照してください。

 例