BEHAVIOR

使用中のデータベースで COBOL カーソルが正しく一致するよう OpenESQL に指示し、データベース カーソルのパフォーマンスを最大化できるようにします。BEHAVIOR は複数のプリミティブ指令を使用し、対象の DBMS に応じて各プリミティブ指令のデフォルト値を関連付けます。また、プリミティブ指令のデフォルト設定をオーバーライドすることもできます。
注:
  • BEHAVIOR プリミティブ指令を指定せず、本トピックで後述する「デフォルトのプリミティブ指令」セクションの関連表にリストされているデフォルトのプリミティブ指令値を使用する場合、TARGETDB 指令は不要です。ただし、プリミティブ指令に対して別のデフォルト値を使用する場合は TARGETDB を指定する必要があります。
  • BEHAVIOR 指令を設定すると、動的 SQL を使用して返される SQL タイプにも影響します。詳細は、「DESCRIBE」のトピックを参照してください。
  • JDBC API は事前取り込みをサポートしないため、DBMAN=JDBC で BEHAVIOR プリミティブ指令を使用する場合のサポートは非常に限られています。詳細については、「DBMAN 指令」を参照してください。

構文:

BEHAVIOR={OPTIMIZED | UNOPTIMIZED | ANSI | MAINFRAME } [primitivedirective [value]]...

パラメーター:

OPTIMIZED OpenESQL で未確定カーソル宣言を最適化できるようにします。これにより、アクセス速度が向上します。
UNOPTIMIZED 旧 Micro Focus 製品との下位互換性をサポートします。これにより、未確定カーソルの更新およびスクロールが可能になります。
ANSI OpenESQL を ANSI 規格と同様に機能できるようにします。これにより、アクセス速度が向上します。
MAINFRAME OPTIMIZED と同じ
primitivedirective BEHAVIOR を微調整するための指令 (オプション)

プロパティ:

デフォルト: BEHAVIOR=OPTIMIZED

範囲:

コンパイル時の使用: あり
実行時の動作: なし

詳細については、「範囲 - OpenESQL SQL コンパイラ指令オプション」を参照してください。

デフォルトのプリミティブ指令

表 1. SQL Server 用のデフォルトの BEHAVIOR プリミティブ表
BEHAVIOR = プリミティブのデフォルト値 OPTIMIZED、MAINFRAME ANSI
AUTOFETCH ON OFF
DEF_CURSOR RO UPD
RO_CURSOR FORWARD または IC_FH FORWARD または IC_FH
PF_RO_CURSOR 1 1
IC_FH_ISOLATION UR UR
UPD_CURSOR DYNAMIC DYNAMIC
PF_UPD_CURSOR 8 8
UPD_CONCURRENCY LOCK LOCK
ISOLATION CR CR
表 2. 他の DBMS 用のデフォルトの BEHAVIOR プリミティブ表
BEHAVIOR = プリミティブのデフォルト値 OPTIMIZED、MAINFRAME ANSI
AUTOFETCH ON OFF
DEF_CURSOR RO UPD
RO_CURSOR FORWARD FORWARD
PF_RO_CURSOR 8 8
UPD_CURSOR KEYSET KEYSET
PF_UPD_CURSOR 8 8
UPD_CONCURRENCY LOCK LOCK
ISOLATION CR CR

COBOL カーソルの移行に BEHAVIOR を使用する方法の詳細は、「COBOL プログラム移行サポート」のトピックを参照してください。

プリミティブ指令に代替値を使用してデフォルト設定をオーバーライドし、BEHAVIOR 指令を微調整できます。この場合、TARGETDB 指令を設定する必要があります。

説明:

  • OpenESQL 構成ユーティリティを使用して、デフォルトの設定値を ANSI または UNOPTIMIZED に変更できます。ただし、プログラム コード、プロジェクト設定、またはコンパイラ指令ファイルで BEHAVIOR 指令が指定されている場合、指定されているパラメーターによってデフォルトの設定値がオーバーライドされます。
  • この指令を設定すると、動的 SQL を使用して返される SQL タイプにも影響します。詳細は、「DESCRIBE」のトピックを参照してください。
  • OpenESQL は、BEHAVIOR の値およびターゲット データベースに応じてプリミティブ指令のデフォルト値を設定します。詳細は、「プリミティブ指令」のトピックを参照してください。