デフォルトではないオプションの動作を可能にします。
構文:
OPTION={NORSLOCATORS | CHECKCALLPARAMS | SQLCLRTRANS | SPCOMMITONRETURN |
IGNORESCHEMAERRORS | NESTEDCLRDEBUG | SPDISPLAY |
[DESCRIBEVARCHARPICX | DESCRIBEVARCHAR49] | [DESCRIBEDTREC | DESCRIBEDTCHAR] |
OPTIMIZESPCURSORS}...
パラメーター:
- NORSLOCATORS
- HCOSS のみ。COBOL 以外のクライアント アプリケーションが、メインフレームから移行されており SQL(DIALECT=MAINFRAME) を使用する COBOL ストアド プロシージャから結果セットを読み込めるようになります。WITH RETURN TO CALLER として宣言されるカーソルは、シミュレートされたメインフレームの結果セット ロケーターではなくデフォルトの SQL Server 結果セットを戻します。
- CHECKCALLPARAMS
- HCOSS のみ。必要と見なされた特定のパラメーターに対してのみ、サーバー クエリによって決められたように DETECTDATE を処理します。
- SQLCLRTRANS
- HCOSS のみ。クライアント アプリケーションとストアド プロシージャ両方をビルドするとき、COMMIT と ROLLBACK を SQL Server の SAVEPOINT 操作に置き換えることでメインフレームの動作をエミュレートします。ストアド プロシージャが SPCOMMITONRETURN によってビルドされている場合を除き、ストアド プロシージャが呼び出し元のアプリケーションに返されると非コミットの処理はロールバックされます。呼び出し元のアプリケーションが COMMIT または ROLLBACK を実行するまで、データベースのロックは解除されません。
注:クライアント アプリケーションが COBOL または PL/I 以外の言語で記述されている場合、そのアプリケーションはトランザクションの開始ごと (すべての COMMIT または ROLLBACK 文の後など) および AUTOCOMMIT をオフにするとき、SQL Server 文
save transaction MF__SAVEPOINT を実行する必要があります。
- SPCOMMITONRETURN
- HCOSS のみ。ストアド プロシージャが呼び出し元アプリケーションに返るとき、そのストアド プロシージャによって実行される処理にコミットします。
- IGNORESCHEMAERRORS
- HCOSS のみ。同時に SQL(CHECK) を指定する場合、スキーマ オブジェクトの欠落によって生じるコンパイル時のエラーが抑制されます。このモードでは、データベース スキーマを参照せずに OpenESQL を使用して SQL 構文エラーを検証できます。この場合、最初にデータベース スキーマを移行する必要なしに COBOL コンパイラと OpenESQL を使用して修正を必要とする文を特定できるので、アプリケーション移行の予定がある場合に便利です。さらに、開発段階で OpenESQL 構文のより高度な検証を実行できます。
- NESTEDCLRDEBUG
- ネストされたストアド プロシージャの呼び出しをデバックできます。このパラメーターを使わないと、結果セットを戻すストアド プロシージャをデバッグできません。これは、Microsoft SQL Common Language Runtime の制限によるものです。NESTEDCLRDEBUG は、ネストされたストアド プロシージャの呼び出しから戻される結果セットをすべて破棄するようにプロセッサに指示します。これにより、デバッグが可能になります。
- SPDISPLAY
- COBOL DISPLAY 情報にどこでアクセスできるかを指定します。SQL CLR ストアド プロシージャに設定した場合、COBOL DISPLAY が SQL Server 情報メッセージとして呼び出し側に返送されます。COBOL アプリケーションに設定した場合、SQL Server 情報メッセージがコンソールに記述されます。SQL Server Management Studio など対話式の SQL ツールを使用して COBOL ストアド プロシージャを呼び出すと、情報メッセージがそのツールから出力されるメッセージによって表示されます。
SPDISPLAY は、デバッグ中のトレーシングやディプロイされたアプリケーションへのログインにも便利です。設定しない場合、COBOL DISPLAY 文は意味を持ちません。
- DESCRIBEVARCHARPICX
- VARCHAR 列は PIC X ホスト変数に適しています。デフォルトです。
- DESCRIBEVARCHAR49
- VARCHAR 列は、長さとデータにレベル 49 サブフィールドを使用する VARCHAR ホスト変数に適しています。
- DESCRIBEDTREC
- DATE、TIME、DATETIME 列は、DATE、TIME、および ODBC フォーマット レコード構造の TIMESTAMP-RECORD SQL TYPE に適しています。デフォルトです。
- DESCRIBEDTCHAR
- DATE、TIME、DATETIME 列は、PIC X(n) 文字列ホスト変数または DATE、TIME、TIMESTAMP SQL TYPE に適しています。
- OPTIMIZESPCURSORS
- SQL CLR ストアド プロシージャでは、順方向読み取り専用カーソルをファイアホース カーソルとして開き、後続のカーソルが開くと、結果セットの残りをメモリに読み込んでパフォーマンスを最適化します。
依存性:
HCOSS のみで、BEHAVIOR=MAINFRAME は自動的に DESCRIBEDTCHAR を設定します。
DIALECT=MAINFRAME は自動的に DESCRIBEVARCHAR49 と DESCRIBEDTCHAR を設定します。
範囲:
コンパイル時の使用:
|
Yes
|
ランタイムの動作:
|
ソース ファイル
|
詳細については、『範囲 - OpenESQL SQL コンパイラ指令オプション』および『Scope - HCOSS SQL Compiler Directive Options』を参照してください。
コメント:
OPTION の各インスタンスをスペースで区切ります。
例:
SQL(OPTION=NORSLOCATORS OPTION=NESTEDCLRDEBUG)
SQL(OPTION=NESTEDCLRDEBUG OPTION=OPTIMIZESPCURSORS