OPTION

デフォルトではないオプションの動作を可能にします。

構文:

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 ストアド・プロシージャでは、順方向読み取り専用カーソルをファイアホース・カーソルとして開き、後続のカーソルが開くと、結果セットの残りをメモリに読み込んでパフォーマンスを最適化します。

プロパティ:

デフォルト: None

依存性:

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