JDBC 3.0 と 4.0 仕様では、insensitive、sensitive、forward-only asensitive の 3 つのカーソルタイプがサポートされています。SQL Anywhere JDBC ドライバーはこれらの JDBC 仕様に準拠しており、JDBC ResultSet オブジェクトに対してこの 3 種類のカーソルタイプがサポートされています。ただし、データベースサーバーが指定されたカーソルタイプに必要なセマンティックに基づいてアクセスプランを構築できない場合もあります。このような場合、データベースサーバーはエラーを返すか、別のカーソルタイプに置き換えます。sensitive カーソルを参照してください。
jConnect の場合は、JDBC 2.0 仕様に従って別のタイプのカーソルを作成する場合は API をサポートしていますが、基本のプロトコル (TDS) ではデータベースサーバー上でサポートしているのは forward-only と read-only asensitive カーソルのみです。TDS プロトコルでは文の結果セットをブロック単位でバッファーに格納するため、すべての jConnect カーソルは asensitive です。バッファーに格納された結果のブロックは、スクロール動作がサポートされている insensitive または sensitive カーソルタイプを使用してアプリケーションでスクロールする必要がある場合に、スクロールされます。アプリケーションがキャッシュされた結果セットの先頭を越えて後方にスクロールすると、文は再実行されます。この場合、次の実行までにデータが変更されていると、データに矛盾が生じる可能性があります。
![]() |
DocCommentXchange で意見交換できます
|
Copyright © 2012, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.1 |