BEHAVIOR

データベースカーソルのパフォーマンスを最大にするような TARGETDB 指令を指定したデータベースで COBOL カーソルが正しく一致するよう OpenESQL に指示します。BEHAVIOR は複数のプリミティブな指令を作成し、使用する DBMS によってはプリミティブな各指令のデフォルト値を関連付けます。また、プリミティブな指令のデフォルト設定を上書きすることもできます。

注:BEHAVIOR 指令を使用するには、最初に SQL 定義で TARGETDB を指定する必要があります。

構文:
BEHAVIOR={ANSI | MAINFRAME} [primitivedirective [value]]...
パラメタ:
ANSI OpenESQL が ANSI 標準のように動作し、アクセススピードが向上します。
MAINFRAME OpenESQL がメインフレーム上であるかのように動作し、アクセススピードが向上します。
primitivedirective BEHAVIOR を微調整するオプションの指令。
デフォルト:

次の表に、組み合わせによるデフォルトのプリミティブな指令を示します。

SQL(TARGETDB=dbtarget BEHAVIOR=MAINFRAME)
SQL(TARGETDB=dbtarget BEHAVIOR=ANSI)
SQL(TARGETDB=dbtarget
SQL(TARGETDB=MSSQLSERVER BEHAVIOR=MAINFRAME)
SQL(TARGETDB=MSSQLSERVER BEHAVIOR=ANSI)
SQL(TARGETDB=MSSQLSERVER)

dbtarget は、MS SQL Server を除くデータベースターゲットです。これらのデフォルト設定を使用する場合は、他のプリミティブな指令は指定しません。

AUTOFETCH AUTOFETCH フラグをオンにします。
DEF_CURSOR=RO 不定 COBOL カーソルは、読み取り専用と仮定されます。
ISOLATION=CR 分離レベルは、コミット読み取りです。
PF_RO_CURSOR=8 読み取り専用 COBOL カーソルが 1 回の読み取りで 8 レコードを、事前取り込みします。
PF_UPD_CURSOR=8 更新可能 COBOL カーソルが 1 回の読み取りで 8 レコードを、事前取り込みします。
RO_CURSOR=FORWARD 読み取り専用 COBOL カーソルは forward のみです。
UPD_CONCURRENCY=LOCK 更新可能 COBOL カーソルの並行性は lock です。
UPD_CURSOR=KEYSET 更新可能 COBOL カーソルは keyset データベースカーソルです。
>> 0-1: SQL(TARGETDB=dbtarget BEHAVIOR=MAINFRAME) のデフォルト設定

AUTOFETCH AUTOFETCH フラグをオフ (NOAUTOFETCH) にします。
DEF_CURSOR=UPD 不定 COBOL カーソルは、更新可能と仮定されます。
ISOLATION=CR 分離レベルは、コミット読み取りです。
PF_RO_CURSOR=8 読み取り専用 COBOL カーソルが 1 回の読み取りで 8 レコードを、事前取り込みします。
PF_UPD_CURSOR=8 更新可能 COBOL カーソルが 1 回の読み取りで 8 レコードを、事前取り込みします。
RO_CURSOR=FORWARD 読み取り専用 COBOL カーソルは forward のみです。
UPD_CONCURRENCY=LOCK 更新可能 COBOL カーソルの並行性は lock です。
UPD_CURSOR=KEYSET 更新可能 COBOL カーソルは keyset データベースカーソルです。
>> 0-2: SQL(TARGETDB=dbtarget BEHAVIOR=ANSI) のデフォルト設定

NOAUTOFETCH AUTOFETCH フラグをオフにします。
DEF_CURSOR=UPD 不定 COBOL カーソルは、更新可能と仮定されます。
ISOLATION=CR 分離レベルは、コミット読み取りです。
PF_RO_CURSOR=1 読み取り専用 COBOL カーソルが 1 回の読み取りで 1 レコードを、事前取り込みします。
PF_UPD_CURSOR=1 更新可能 COBOL カーソルが 1 回の読み取りで 1 レコードを、事前取り込みします。
RO_CURSOR=FORWARD 読み取り専用 COBOL カーソルは forward のみです。
UPD_CONCURRENCY=LOCK 更新可能 COBOL カーソルの並行性は lock です。
UPD_CURSOR=KEYSET 更新可能 COBOL カーソルは keyset データベースカーソルです。
>> 0-3: SQL(TARGETDB=dbtarget) のデフォルト設定 (BEHAVIOR 指令の指定なし)

AUTOFETCH AUTOFETCH フラグをオンにします。
DEF_CURSOR=RO 不定 COBOL カーソルは、読み取り専用と仮定されます。
ISOLATION=CR 分離レベルは、コミット読み取りです。
PF_RO_CURSOR=1 読み取り専用 COBOL カーソルが 1 回の読み取りで 1 レコードを、事前取り込みします。
PF_UPD_CURSOR=8 更新可能 COBOL カーソルが 1 回の読み取りで 8 レコードを、事前取り込みします。
RO_CURSOR=IC_FH 読み取り専用 COBOL カーソルは independent-connection fire-hose データベースカーソルです。
UPD_CONCURRENCY=LOCK 更新可能 COBOL カーソルの並行性は lock です。
UPD_CURSOR=DYNAMIC 更新可能 COBOL カーソルは dynamic データベースカーソルです。
>> 0-4:SQL(TARGETDB=MSSQLSERVER BEHAVIOR=MAINFRAME) のデフォルト設定

AUTOFETCH AUTOFETCH フラグをオンにします。
DEF_CURSOR=UPD 不定 COBOL カーソルは、更新可能と仮定されます。
ISOLATION=CR 分離レベルは、コミット読み取りです。
PF_RO_CURSOR=1 読み取り専用 COBOL カーソルが 1 回の読み取りで 1 レコードを、事前取り込みします。
PF_UPD_CURSOR=8 更新可能 COBOL カーソルが 1 回の読み取りで 8 レコードを、事前取り込みします。
RO_CURSOR=IC_FH 読み取り専用 COBOL カーソルは independent-connection fire-hose データベースカーソルです。
UPD_CONCURRENCY=LOCK 更新可能 COBOL カーソルの並行性は lock です。
UPD_CURSOR=DYNAMIC 更新可能 COBOL カーソルは dynamic データベースカーソルです。
>> 0-5: SQL(TARGETDB=MSSQLSERVER BEHAVIOR=ANSI) のデフォルト設定

NOAUTOFETCH AUTOFETCH フラグをオフにします。
DEF_CURSOR=UPD 不定 COBOL カーソルは、更新可能と仮定されます。
ISOLATION=CR 分離レベルは、コミット読み取りです。
PF_RO_CURSOR=1 読み取り専用 COBOL カーソルが 1 回の読み取りで 1 レコードを、事前取り込みします。
PF_UPD_CURSOR=1 更新可能 COBOL カーソルが 1 回の読み取りで 1 レコードを、事前取り込みします。
RO_CURSOR=DYNAMIC 読み取り専用 COBOL カーソルは dynamic データベースカーソルです。
UPD_CONCURRENCY=LOCK 更新可能 COBOL カーソルの並行性は lock です。
UPD_CURSOR=DYNAMIC 更新可能 COBOL カーソルは dynamic データベースカーソルです。
>> 0-6: SQL(TARGETDB=MSSQLSERVER) のデフォルト設定 (BEHAVIOR 指令の指定なし)

プリミティブな指令に代替値を使用してデフォルト設定を上書きし、BEHAVIOR 指令を微調整できます。

COBOL カーソルの移行に BEHAVIOR を使用する方法の詳細は、前述の『COBOL プログラムの移行方法』の節を参照してください。

プリミティブな指令

これらの指令は、ターゲットデータベースセットで BEHAVIOR 指令 を指定した場合のみ動作します。これらは、BEHAVIOR のデフォルト設定を上書きしたい場合のみ指定します。次に使用例を示します。

SQL(TARGETDB=INFORMIX BEHAVIOR=MAINFRAME DEF_CURSOR=UPD)
DEF_CURSOR

このカーソル指令は、不定 COBOL カーソルのデフォルトカーソルタイプを指定します。読み取り専用または更新可能のどちらかです。この指令は、DECLARE CURSOR 文で FOR READONLY 句と FOR UPDATE OF 句のどちらも指定されていない場合に使用します。

構文:
DEF_CURSOR={RO | UPD}
コメント:
PF_RO_CURSOR

1 つのクライアント要求をもつ DBMS から 1 回に複数の読み取り専用レコードを、事前取り込みする指令です。

構文:
PF_RO_CURSOR={numberofrows | buffersizeK | buffersizeB}
コメント:
PF_UPD_CURSOR

1 つのクライアント要求をもつ DBMS から 1 回に複数の更新可能レコードを、事前取り込みする指令です。

構文:
PF_UPD_CURSOR={numberofrows | buffersizeK | buffersizeB}
コメント:
RO_CURSOR

この指令は、読み取り専用 COBOL カーソルのデータベースカーソルタイプを決定します。

構文:
RO_CURSOR={SCROLL | FORWARD | DYNAMIC | KEYSET | STATIC | FF | IC_FH}
コメント:
UPD_CONCURRENCY

この指令は、更新可能 COBOL カーソルの並行性レベルを選択します。

構文:
UPD_CONCURRENCY={LOCK | OPTIMISTIC | OPTCC | OPTCCVAL}
コメント:

LOCK、OPTIMISTIC、OPTCC、および OPTCCVAL は、標準 ODBC タイプです。

UPD_CURSOR

この指令は、更新可能 COBOL カーソルのデータベースカーソルタイプを決定します。

構文:
UPD_CURSOR={SCROLL | FORWARD | DYNAMIC | KEYSET | STATIC}
コメント: