COBOL2002 使用の手引 手引編

[目次][用語][索引][前へ][次へ]

23.2.8 カーソルオプションの設定

ODBCインタフェース機能では,ODBCカーソルライブラリの静的カーソルを使用するように次のODBCのオプションを設定してSQLのカーソル処理を実現しています。

表23-4 ODBCのオプションに対応するSQLのカーソル処理

オプション名 設定値 機能
接続オプション SQLSetConnectOption(hdbc,SQL_ODBC_CURSORS,SQL_CUR_USE_ODBC); ドライバマネージャは,ドライバのスクロール機能を使用します。
ステートメントオプション SQLSetStmtOption(hstmt,SQL_CONCURRENCY,SQL_CONCUR_VALUES); カーソルは最適化同時実行制御を使用して値を比較します。
SQLSetStmtOption(hstmt,SQL_CURSOR_TYPE,SQL_SCROLL_STATIC); 結果セットのデータは静的なデータとなります。

ODBCドライバによって,ODBCカーソルライブラリの使用をサポートしていないことがあります。使用するODBCドライバが,これらの接続オプションおよびステートメントオプションをサポートしているかどうかを確認してください。

ODBCカーソルライブラリを使用しない場合は,実行時環境変数CBLSQLCURUSEを指定してください。

<この項の構成>
(1) 実行時環境変数CBLSQLCURUSE
(2) 注意事項

(1) 実行時環境変数CBLSQLCURUSE

形式
CBLSQLCURUSE=DYNAMIC

規則
DYNAMIC
ODBCドライバのスクロール機能の動的カーソルを使用するように設定します。この実行時環境変数の指定がない場合は,ODBCカーソルライブラリの静的カーソルを使用するようにODBCオプションを設定します。DYNAMIC以外の値を指定した場合の結果は,保証しません。
DYNAMICを指定した場合,次の太字のオプションがデフォルトから変更されます。

表23-5 DYNAMICを指定した場合の設定値と機能

オプション名 設定値 機能
接続オプション SQLSetConnectOption(hdbc,SQL_ODBC_CURSORS,SQL_CUR_USE_DRIVER); ドライバマネージャは,ドライバのスクロール機能を使用します。
ステートメントオプション SQLSetStmtOption(hstmt,SQL_CONCURRENCY,SQL_CONCUR_VALUES); カーソルは最適化同時実行制御を使用して値を比較します。
SQLSetStmtOption(hstmt,SQL_CURSOR_TYPE,SQL_SCROLL_DYNAMIC); ドライバは行セットの行に対するキーだけを保存して使用します。

(2) 注意事項

この環境変数の指定で設定する接続オプションまたはステートメントオプションをODBCドライバがサポートしていない場合,動作は保証しません。なお,使用するODBCドライバによって,暗黙的にオプションが変更されることがあります。使用するODBCドライバが,この環境変数の指定で設定する接続オプションおよびステートメントオプションをサポートしているかどうかは,ODBCドライバ提供元のマニュアルなどを参照してください。