ODBC アプリケーションは、SQL ステートメントを実行する前に 1 つ以上のステートメント属性を設定することで、カーソルの動作を制御します。 ODBC には、カーソルの特性を指定する方法が 2 つあります。
カーソルの種類
カーソルの種類は、 SQLSetStmtAttr のSQL_ATTR_CURSOR_TYPE属性を使用して設定されます。 ODBC カーソルの種類は、前方専用、静的、キーセットドリブン、混合、動的です。 カーソルの種類の設定は、ODBC でカーソルを指定する元の方法でした。
カーソルの動作
カーソルの動作は、 SQLSetStmtAttr のSQL_ATTR_CURSOR_SCROLLABLE属性とSQL_ATTR_CURSOR_SENSITIVITY属性を使用して設定されます。 これらの属性は、ISO 標準の DECLARE CURSOR ステートメントに対して定義されている SCROLL キーワードと SENSITIVE キーワードでモデル化されています。 これら 2 つの ISO オプションは、ODBC バージョン 3.0 で導入されました。
ODBC カーソルの特性は、これら 2 つのメソッドのいずれかまたは他の方法を使用して指定する必要があります。ODBC カーソルの種類の使用を優先します。
ODBC アプリケーションでは、カーソルの種類の設定に加えて、各フェッチで返される行数、コンカレンシー オプション、トランザクション分離レベルなど、他のオプションも設定します。 これらのオプションは、ODBC スタイルのカーソル (前方のみ、静的、キーセットドリブン、混合、動的) または ISO スタイルのカーソル (スクロール可能性と感度) に対して設定できます。
SQL Server Native Client ODBC ドライバーでは、さまざまな種類のカーソルを物理的に実装するいくつかの方法がサポートされています。 ドライバーは、SQL Server の既定の結果セットを使用して、いくつかの種類のカーソルを実装します。サーバー カーソルとして、または ODBC カーソル ライブラリを使用して、他のユーザーを実装します。