カーソル動作

ODBC では、カーソルのスクロールの可否と感度を設定することでカーソル動作を指定する、ISO オプションがサポートされます。このような動作は、SQLSetStmtAttr の呼び出し時に SQL_ATTR_CURSOR_SCROLLABLE オプションと SQL_ATTR_CURSOR_SENSITIVITY オプションを設定して指定します。SQL Server Native Client ODBC ドライバでは、次の特性を持つサーバー カーソルを要求して、これらのオプションを実装します。

カーソル動作の設定

要求されるサーバー カーソルの特性

SQL_SCROLLABLE と SQL_SENSITIVE

キーセット ドリブン カーソルとバージョンに基づくオプティミスティック同時実行制御

SQL_SCROLLABLE と SQL_INSENSITIVE

静的カーソルと読み取り専用同時実行

SQL_SCROLLABLE と SQL_UNSPECIFIED

静的カーソルと読み取り専用同時実行

SQL_NONSCROLLABLE と SQL_SENSITIVE

順方向専用カーソルとバージョンに基づくオプティミスティック同時実行制御

SQL_NONSCROLLABLE と SQL_INSENSITIVE

既定の結果セット (順方向専用、読み取り専用)

SQL_NONSCROLLABLE と SQL_UNSPECIFIED

既定の結果セット (順方向専用、読み取り専用)

バージョンに基づくオプティミスティック同時実行制御では、基になるテーブルに timestamp 列が必要です。timestamp 列がないテーブルでバージョンに基づくオプティミスティック同時実行制御が要求されると、サーバーでは値に基づくオプティミスティック同時実行制御が使用されます。

スクロール可能

SQL_ATTR_CURSOR_SCROLLABLE が SQL_SCROLLABLE に設定されていると、カーソルでは、SQLFetchScrollFetchOrientation パラメータに対して、さまざまな値がサポートされます。SQL_ATTR_CURSOR_SCROLLABLE が SQL_NONSCROLLABLE に設定されているときは、カーソルでは FetchOrientation 値に対しては SQL_FETCH_NEXT しかサポートされません。

感度

SQL_ATTR_CURSOR_SENSITIVITY が SQL_SENSITIVE に設定されているとき、現在のユーザーが行ったデータ変更または他のユーザーがコミットしたデータ変更がカーソルに反映されます。SQL_ATTR_CURSOR_SENSITIVITY が SQL_INSENSITIVE に設定されているときは、データ変更がカーソルに反映されません。

関連項目

概念