次の方法で共有


ODBC 関数とカーソル ライブラリ

適用対象:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

Important

この機能は、今後のバージョンの Windows で削除される予定です。 新しい開発作業ではこの機能を使用しないでください。現在この機能を使用しているアプリケーションを変更することを計画してください。 Microsoft では、ドライバーのカーソル機能を使用することをお勧めします。

ODBC カーソル ライブラリは、前方専用カーソルのみをサポートする ODBC 2.x ドライバーのスクロール可能なカーソル サポートを提供します。 接続に対してカーソル ライブラリを有効にすると、ドライバー マネージャーは関数呼び出しをインターセプトし、ドライバーに直接ではなくカーソル ライブラリを介してルーティングします。 カーソル ライブラリは、関数自体を実行するか、基になるドライバーに渡します。

カーソル ライブラリによって実行される関数

これらの記事では、カーソル ライブラリが処理する ODBC 関数とドライバーに渡す ODBC 関数について説明します。

[アーティクル] Description
カーソル ライブラリによって実行される ODBC 関数 スクロール可能なカーソル機能を提供するためにカーソル ライブラリ自体が実装する関数を一覧表示します。
カーソル ライブラリによって実行されない ODBC 関数 カーソル ライブラリがドライバーに渡す関数を変更せずに一覧表示します。

列とパラメーターのバインド

これらの関数は、結果セットの列とステートメント パラメーターへのアプリケーション バッファーのバインドを処理します。 カーソル ライブラリは、位置指定された更新とブロック カーソルをサポートするように動作を変更します。

機能 Description
SQLBindCol (カーソル ライブラリ) アプリケーション バッファーを結果セット列にバインドします。 カーソル ライブラリは、配置された更新操作と削除操作をサポートするためにバインドを追跡します。
SQLBindParameter (カーソル ライブラリ) アプリケーション バッファーをパラメーター マーカーにバインドします。 カーソル ライブラリは、この呼び出しをドライバーに渡します。

一括操作と配置操作

これらの関数は、行セットに対して一括操作を実行し、カーソルの現在の行セット内の個々の行に対して配置された更新を実行します。

機能 Description
SQLBulkOperations (カーソル ライブラリ) ブックマーク操作によって一括挿入、更新、削除、またはフェッチを実行します。 カーソル ライブラリは、ODBC 2.x ドライバーを操作するときにこれを SQLSetPos にマップします。
SQLSetPos (カーソル ライブラリ) 行セット内にカーソルを置き、アプリケーションが行セット内のデータを更新、更新、または削除できるようにします。

カーソル管理とトランザクション

これらの関数は、カーソルの有効期間とトランザクションの境界を管理します。

機能 Description
SQLCloseCursor (カーソル ライブラリ) ステートメントのカーソルを閉じ、保留中の結果を破棄します。
SQLEndTran (カーソル ライブラリ) トランザクションをコミットまたはロールバックします。 カーソル ライブラリは、 SQL_CURSOR_COMMIT_BEHAVIORSQL_CURSOR_ROLLBACK_BEHAVIOR の設定に基づいて、トランザクション境界を越えてカーソルの状態を管理します。
SQLFreeStmt (カーソル ライブラリ) ステートメント処理を停止し、関連付けられているカーソルを閉じ、保留中の結果を破棄し、必要に応じてステートメント ハンドルに関連付けられているすべてのリソースを解放します。

データの取得

これらの関数は、結果セットからデータをフェッチします。 カーソル ライブラリは、前方専用カーソルのみをサポートするドライバーにスクロール可能なカーソル機能を提供します。

機能 Description
SQLFetch (カーソル ライブラリ) 結果セットからデータの次の行セットをフェッチします。 ODBC 2.x ドライバーを使用する場合、カーソル ライブラリはこれを SQLExtendedFetchにマップします。
SQLFetchScroll (カーソル ライブラリ) 結果セットから指定されたデータ行セットをフェッチし、バインドされているすべての列のデータを返します。 最初、最後、次、前、絶対、相対位置など、さまざまなスクロール方向をサポートします。
SQLExtendedFetch (カーソル ライブラリ) 指定した行セットを結果セットからフェッチします。 この関数は ODBC 3.x では非推奨です。代わりに SQLFetchScroll を使用してください。
SQLGetData (カーソル ライブラリ) SQLFetchまたはSQLFetchScrollが呼び出された後、結果セット内の 1 つの列のデータを取得します。

記述子操作

これらの関数は、記述子フィールド値を取得および設定します。 記述子は、パラメーターと結果セット列の属性を定義します。

機能 Description
SQLGetDescField と SQLGetDescRec (カーソル ライブラリ) 個々のフィールド値または完全な記述子レコードを取得します。 カーソル ライブラリは、内部記述子に対してこれらを処理します。
SQLSetDescField と SQLSetDescRec (カーソル ライブラリ) 個々のフィールド値または完全な記述子レコードを設定します。 カーソル ライブラリは、記述子フィールドへの変更を追跡します。

ドライバー機能のクエリ

これらの関数は、ドライバーとカーソル ライブラリの機能に関する情報を返します。

機能 Description
SQLGetFunctions (カーソル ライブラリ) ドライバーがサポートする ODBC 関数に関する情報を返します。 カーソル ライブラリは、実装する関数を含むように応答を変更します。
SQLGetInfo (カーソル ライブラリ) ドライバーとデータ ソースに関する一般的な情報を返します。 カーソル ライブラリは、その機能を反映するように、特定のカーソル関連の情報の種類を変更します。

ステートメントと接続の属性

これらの関数は、カーソルの動作に影響を与えるステートメント、接続、環境の属性を取得および設定します。

機能 Description
SQLGetStmtAttr (カーソル ライブラリ) ステートメント属性の現在の値を返します。 カーソル ライブラリは、カーソルの動作に関連する属性を処理します。
SQLGetStmtOption (カーソル ライブラリ) ステートメント オプションの値を返します。 この関数は ODBC 3.x では非推奨です。代わりに SQLGetStmtAttr を使用してください。
SQLSetStmtAttr (カーソル ライブラリ) ステートメント属性を設定します。 カーソル ライブラリは、カーソル関連の属性を処理して、スクロール可能なカーソルのサポートを実装します。
SQLSetScrollOptions (カーソル ライブラリ) カーソルの動作を制御するオプションを設定します。 この関数は ODBC 3.x では非推奨です。代わりに、カーソル関連の属性で SQLSetStmtAttr を使用してください。
SQLSetConnectAttr (カーソル ライブラリ) 接続属性を設定します。 カーソル ライブラリは、カーソル ライブラリの使用を有効または無効にするために、 SQL_ATTR_ODBC_CURSORS 属性を処理します。
SQLSetEnvAttr (カーソル ライブラリ) 環境属性を設定します。 カーソル ライブラリは、この呼び出しをドライバー マネージャーに渡します。

SQL 変換と行の操作

これらの関数は、SQL ステートメントの変換と行数の取得を処理します。

機能 Description
SQLNativeSql (カーソル ライブラリ) ドライバーによって変更された SQL 文字列を返します。 カーソル ライブラリは、この呼び出しを変更せずにドライバーに渡します。
SQLRowCount (カーソル ライブラリ) UPDATE、INSERT、または DELETE ステートメントの影響を受ける行数を返します。 カーソル ライブラリは、配置された更新操作と削除操作の行数を追跡します。