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

形式
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ドライバ提供元のマニュアルなどを参照してください。