23.2.10 動的SQLのODBC API関数発行の変更
ODBCインタフェース機能の動的SQLで内部的に発行するODBC APIを変更したい場合に,実行時環境変数CBLSQLDYNAMICを指定します。
実行時環境変数CBLSQLDYNAMICを指定すると,実行性能が改善することがあります。
- 形式
CBLSQLDYNAMIC=REUSEBINDINFO
- 規則
-
-
設定値が形式に従ってない場合,この環境変数の指定は無効です。
-
環境変数CBLSQLDYNAMICにREUSEBINDINFOを指定すると,埋め込みSQL文で内部的に発行するODBC APIを次のとおりに変更し,1回目の埋め込みSQL文実行時に取得した情報で2回目以降も実行します。
- ・次の埋め込みSQL文を連続で実行した場合
-
2回目以降の実行では,1回目に取得した情報をバインド処理で再利用します。※1
-
EXECUTE文
-
動的SQLをカーソルで実行する場合のOPEN文
-
動的SQLをカーソルで実行する場合のOPEN文に対する最初のFETCH文
-
- ・PREPARE文で準備した動的SQLが,INSERT文,DELETE文,またはUPDATE文の場合
-
埋め込みSQL文のEXECUTE文を連続で実行したときに,2回目以降の実行では1回目に取得したODBCハンドル情報を再利用します。※2
- 注※1
-
2回目以降の埋め込みSQL文の実行で,内部的にSQLDescribeParam,SQLDescribeCol,SQLNumResultColsを呼び出さない(パラメタ,列情報を取得しない)ようにすることで,1回目の埋め込みSQL文の実行で取得したパラメタ,列情報を再利用します。
- 注※2
-
埋め込みSQL文のEXECUTE文の実行で,内部的にSQLFreeStmtをSQL_CLOSEパラメタ指定で呼び出さない(ODBCハンドル情報をクローズしない)ようにすることで,1回目の埋め込みSQL文のEXECUTE文の実行で取得したODBCハンドル情報を再利用します。
-