逐次差分反映機能において、コード変換エラーや文字あふれエラーなどが発生することがあります。また、データベースのロックの獲得に失敗することがあります。これらの現象が発生した場合の処理(異常終了する/代替文字に置き換えて処理を継続するなど)やデータベースのロックの獲得における待機時間などを、キーワードによりカスタマイズできます。これらのキーワードおよび指定値を記述したものを"DB動作環境定義"と呼びます。
DB動作環境定義に指定可能なキーワードを"表4.3 DB動作環境定義のキーワード"に示します。
DB動作環境定義を記述したファイルを"DB動作環境定義ファイル"と呼びます。
DB動作環境定義ファイルの指定方法および優先順位は、以下のとおりです。
lxrtmdbコマンドの-dオプション(DB動作環境定義ファイル配置ディレクトリ名)
DBサービス定義のSTOREGROUP定義文のENVFILEオペランド(DB動作環境定義ファイル名)
環境変数LXRTMENV(DB動作環境定義ファイル名)
DB動作環境定義ファイルはユーザディレクトリ配下に配置してください。製品のインストールディレクトリ配下には配置しないでください。
なお、DB動作環境定義ファイルで使用する文字コード系は、以下のとおりにしてください。
インストール時に指定したコード系
シフトJIS
DB動作環境定義ファイルで文字コード系としてUTF-8を使用した場合、DB動作環境定義ファイルの先頭にUCSを識別するための"印"(しるし)を使わないでください。
分類 | キーワード | 概要 | |
---|---|---|---|
出力メッセージ | MESSAGE_LEVEL ※ | メッセージの出力レベル | |
EDIT_MESSAGE_LEVEL ※ | データ編集時のメッセージ出力レベル | ||
項目エラー時の動作 | 文字列 | CHARACTER_CONVERT_ERROR ※ | |
ALTERNATE_CHARACTER1 ※ | コード変換エラー発生時の代替文字(Unicode以外) | ||
UNICODE_ALTERNATE_CHARACTER1 ※ | Unicodeのコード変換エラー発生時の代替文字 | ||
CHARACTER_OVERFLOW ※ | 文字属性データの文字あふれ時の動作 | ||
ALTERNATE_CHARACTER2 ※ | 文字属性データの文字あふれ時の代替文字(Unicode以外) | ||
Unicodeの文字あふれ時の代替文字 | |||
NCHAR_SINGLEBYTE_ERROR ※ | 日本語文字列属性の1文字未満領域に対する動作 | ||
BLANK_TRUNCATION ※ | 可変長文字属性のデータ末尾の空白の格納方法 | ||
数値 | NUMERIC_CONVERT_ERROR ※ | 浮動小数点属性データの桁あふれ時の動作 | |
PACK_CONTROL ※ | パック10進数属性データ異常時の動作 | ||
パック10進数属性データ異常時の動作 | |||
パック10進数属性データ異常時におけるエラー情報の出力の扱い (PACK_NOERRORキーワードから変更しました。 PACK_LOG_OUTPUT_STOPキーワードおよびPACK_NOERRORキーワードに有効な値を指定した場合、PACK_LOG_OUTPUT_STOPキーワードの値が有効となります。) | |||
ゾーン10進数属性データ異常時の動作 | |||
ゾーン10進数属性データ異常時におけるエラー情報の出力の扱い (ZONE_NOERRORキーワードから変更しました。 ZONE_LOG_OUTPUT_STOPキーワードおよびZONE_NOERRORキーワードに有効な値を指定した場合、ZONE_LOG_OUTPUT_STOPキーワードの値が有効となります。) | |||
その他 | ゾーン10進数属性データを日時型に格納する場合の動作 | ||
データ項目長エラー、データ属性エラー発生時の動作 | |||
項目結合エラー発生時の動作 | |||
NOT NULL制約違反発生時の動作 | |||
データベース | SYMFO_SYSTEM_NAME ※ | Symfoware/RDBのRDBシステム名 | |
Oracleデータベースのロックの獲得の待機時間 | |||
SQL Serverデータベースのロックの獲得の待機時間 | |||
SQL Serverデータベースの識別子の扱い | |||
SQL Serverデータベースの大文字/小文字の扱い | |||
逐次差分反映処理のリトライ回数 | |||
逐次差分反映処理のリトライ間隔 | |||
データベースへのリモート接続 | データベースへの接続方式 | ||
再接続のリトライ回数 | |||
再接続のリトライ間隔 | |||
Symfoware/RDBのSQLサーバ名 | |||
Symfoware/RDBへの接続方式 | |||
エラーロギング機能 | エラーログ情報採取時の動作モード | ||
エラーログ管理ファイルの最大サイズ | |||
エラーログ管理ファイルを格納するディレクトリ名 | |||
冗長なデータ操作情報を示すエラーログの出力の扱い | |||
運用 | トランザクション識別子の変換モード | ||
逐次差分反映処理の停止を指示するジャーナルチェックポイント名 | |||
メッセージキュー上の先頭メッセージにトランザクション途中のデータを検出した場合の動作 |
※:LinkexpressのDB動作環境定義と共通のキーワードです。キーワードの詳細については、Linkexpressのマニュアルを参照してください。
UNICODE_ALTERNATE_CHARACTER2キーワード
Unicode系を出力コードとする場合の文字あふれ発生時の不完全文字に対する代替文字を指定します。
1バイトおよび2バイトの代替文字を記述します。本キーワードを省略した場合、それぞれ1バイト系は"_"(半角アンダースコア)、2バイト系は"φ"(ファイ)に対応するコードが採用されます。
UNICODE_ALTERNATE_CHARACTER2:TYPE:XX:TTBB |
"TYPE:XX:TTBB"の形式で指定します。
"TYPE"には"utf8"を指定します。
"XX"には0x00~0x7fの範囲を16進で指定します。
"TT"には0xc2~0xdfの範囲を16進で指定します。
"BB"には0x80~0xbfの範囲を16進で指定します。
"TYPE:XX:YYYY"の形式で指定します。
"TYPE"には"utf16"を指定します。
"XX"には0x00~0x7fまでの"点(cell)"のみを16進で指定します。
"YYYY"には、0x0080~0x07ffを文字コードの"区(row)"、"点(cell)"の順に指定します。
本キーワードで指定したTYPEとDBサービス定義のSTOREGROUP定義文のOUT_UNICODE_TYPEオペランドで指定したUnicodeのデータ形式が異なる場合、データが使用しているUnicodeの形式(OUT_UNICODE_TYPEオペランド)に対応する文字に変換して使用します。たとえば、本キーワードでの指定が"utf8:5e:c2a3"でOUT_UNICODE_TYPEオペランドが"utf16-ms"の場合、"5e"を"005e"に、"c2a3"を"00a3"に変換します。
UNICODE_ALTERNATE_CHARACTER2:utf16:5e:00a3 |
パック10進数属性データ異常時の動作を指定します。
本キーワードが対象とする異常とPACK_CONTROLキーワードが対象とする異常の違いについて"図4.2 PACK_CORRECTキーワードとPACK_CONTROLキーワードの違い"に示します。
PACK_CORRECT:動作種別 |
OFF:異常終了します(省略値)。
ON:代替値(0)を設定し、処理を継続します。
# correct error pack data and continue |
パック10進数属性データ異常時におけるエラー情報の出力の扱いを指定します。
本キーワードは、PACK_CORRECTキーワードに"ON"を指定し、かつ、LOGMODEキーワードを指定した場合のみ有効になります。
PACK_LOG_OUTPUT_STOP:動作種別 |
OFF:パック10進数属性データのエラーログ情報を出力します(省略値)。
ON:パック10進数属性データのエラーログ情報の出力を抑止します。
# not output error log(pack) |
ゾーン10進数属性データ異常時の動作を指定します。
ZONE_CORRECT:動作種別 |
OFF:異常終了します(省略値)。
ON:代替値(0)を設定し、処理を継続します。
# correct error zone data and continue |
ゾーン10進数属性データ異常時におけるエラー情報の出力の扱いを指定します。
本キーワードは、ZONE_CORRECTキーワードに"ON"を指定し、かつ、LOGMODEキーワードを指定した場合のみ有効になります。
ZONE_LOG_OUTPUT_STOP:動作種別 |
OFF:ゾーン10進数属性データのエラーログ情報を出力します(省略値)。
ON:ゾーン10進数属性データのエラーログ情報の出力を抑止します。
# not output error log(zone) |
ゾーン10進数属性データを日時型に格納する場合の動作を指定します。負の値を絶対値に補正して処理を継続する場合に使用します。
DATETIME_CORRECT:動作種別 |
OFF:異常終了します(省略値)。
ON:負の値を絶対値に補正して、処理を継続します。
# correct minus datetime data(year) |
DEFINE_UNMATCHED_ERRORキーワード
データ項目長エラー、データ属性エラー発生時の動作を指定します。
DEFINE_UNMATCHED_ERROR:動作種別 |
EXIT:異常終了します(省略値)。
SKIP:エラーが発生したデータの格納を迂回し、処理を継続します。
# DEFINE_UNMATCHED_ERROR |
項目結合エラー発生時の動作を指定します。
ITEM_COMBINE_ERROR:動作種別 |
EXIT:異常終了します(省略値)。
SKIP:エラーが発生したデータの格納を迂回し、処理を継続します。
# ITEM_COMBINE_ERROR |
NOT NULL制約違反発生時の動作を指定します。
NOT_NULL_ERROR:動作種別 |
EXIT:異常終了します(省略値)。
SKIP:エラーが発生したデータの格納を迂回し、処理を継続します。
# NOT_NULL_ERROR |
ORACLE_LOCK_RETRY_INTERVALキーワード
Oracleデータベースのロックの獲得の待機時間を指定します。
待機時間を超えた場合は、逐次差分反映処理のデータベースのトランザクションをリトライします。
待機時間を0~32767(秒)の範囲で指定します。
0(秒)を指定した場合は、ロックを獲得するまで待機します。
本キーワード省略時は、10(秒)となります。
ORACLE_LOCK_RETRY_INTERVAL:待機時間 |
0~32767の範囲の値を10進数で指定してください。
ロックの待機をしている状態では、lxrtmdbコマンドで逐次差分反映処理を終了できません。
この状態でlxrtmdbコマンドを投入した場合、コマンドは受け付けられますが、ロックの獲得、または待機時間を超えるまで逐次差分反映処理は終了しません。
ORACLE_LOCK_RETRY_INTERVAL:10 |
SQLSERVER_LOCK_RETRY_INTERVALキーワード
SQL Serverデータベースのロックの待機時間を指定します。
待機時間を超えた場合は、逐次差分反映処理のデータベースのトランザクションをリトライします。
待機時間を-1~32767(秒)の範囲で指定します。
0(秒)を指定した場合は、ロックの獲得待ちを行わず、すぐにリトライします。
-1(秒)を指定した場合は、ロックを獲得するまで待機します。
本キーワード省略時は、10(秒)となります。
SQLSERVER_LOCK_RETRY_INTERVAL:待機時間 |
-1~32767の範囲の値を10進数で指定してください。
ロックの待機をしている状態では、lxrtmdbコマンドで逐次差分反映処理を終了できません。
この状態でlxrtmdbコマンドを投入した場合、コマンドは受け付けられますが、ロックの獲得、または待機時間を超えるまで逐次差分反映処理は終了しません。
SQLSERVER_LOCK_RETRY_INTERVAL:10 |
SQLSERVER_USE_DELIMITED_IDENTIFIERSキーワード
SQL Serverデータベースにおいて、標準ではない識別子を有効とするかどうかを指定します。
たとえば、"AAA-B"や"1月"は、標準では許されていません。これらの識別子を有効とする場合、"ON"を指定してください。
SQLSERVER_USE_DELIMITED_IDENTIFIERS:動作種別 |
OFF:無効とします(省略値)。
ON:有効とします。
SQLSERVER_USE_DELIMITED_IDENTIFIERS:ON |
SQLSERVER_CASE_SENSITIVITYキーワード
SQL Serverデータベースにおいて、大文字/小文字を区別するインスタンスを利用するかどうかを指定します。
"ON"を指定した場合、DBサービス定義のデータベースに関する値(データベース名、スキーマ名、表名、列名)は、格納先データベースに定義されている内容と大文字/小文字を含めて一致している必要があります。
SQLSERVER_CASE_SENSITIVITY:動作種別 |
OFF:大文字/小文字を区別するインスタンスを利用しません(省略値)。
ON:大文字/小文字を区別するインスタンスを利用します。
データベースにアクセスするためのパスワードの扱いについては、SQL Serverのバージョンによって異なります。詳細については、SQL Serverのマニュアルを参照してください。
SQLSERVER_CASE_SENSITIVITY:ON |
逐次差分反映処理において、データベースの占有待ちが発生した場合にトランザクションのリトライを行う回数を指定します。
リトライ回数を0~9999(回)の範囲で指定します。
0(回)を指定した場合には、データベースの占有待ちが解消されるまでリトライを繰り返します。
本キーワード省略時は、0(回)となります。
RETRY_COUNT:リトライ回数 |
0~9999の範囲の値を10進数で指定してください。
RETRY_COUNT:99 |
逐次差分反映処理において、データベースの占有待ちが発生した場合にトランザクションのリトライを行う間隔を指定します。
リトライ間隔を、0.1秒単位で1~600の範囲(0.1~60秒)で指定します。
本キーワード省略時は、0.5(秒)となります。
RETRY_INTERVAL:リトライ間隔 |
1~600の範囲の値を10進数で指定してください。
RETRY_INTERVAL:10 |
データベースへの接続方式を指定します。
本キーワード省略時は、ローカルデータベースに接続します。
CONNECT_TYPE:接続方式 |
LOCAL:ローカルデータベースに接続します(省略値)。
REMOTE:リモートデータベースに接続します。
CONNECT_TYPE:REMOTE |
リモートデータベースへの接続後に切断された場合における、接続のリトライ回数を指定します。
リトライ回数を0~999(回)の範囲で指定します。
なお、本キーワードは、CONNECT_TYPEキーワードに"REMOTE"を指定した場合に有効となります。
0を指定した場合は、再接続を行いません。
本キーワード省略時は10(回)となります。
REMOTE_RECONNECT_COUNT:再接続のリトライ回数 |
0~999の範囲で指定してください。
REMOTE_RECONNECT_COUNT:30 |
REMOTE_RECONNECT_INTERVALキーワード
リモートデータベースへの接続後に切断された場合における、再接続のリトライ間隔を指定します。
リトライ間隔を1~600(秒)の範囲で指定します。
なお、本キーワードは、CONNECT_TYPEキーワードに"REMOTE"およびREMOTE_RECONNECT_COUNTキーワードに1以上を指定した場合に有効となります。
本キーワード省略時は30(秒)となります。
REMOTE_RECONNECT_INTERVAL:再接続のリトライ間隔 |
1~600の範囲で指定してください。
REMOTE_RECONNECT_INTERVAL:15 |
Symfoware/RDBのデータベースへのリモート接続におけるSQLサーバ名を指定します。
なお、本キーワードは、CONNECT_TYPEキーワードに"REMOTE"を指定した場合に有効となります。
また、本キーワードが有効な場合、ローカル接続における接続対象のRDBシステムを示すSYMFO_SYSTEM_NAMEキーワードは無効となります。
SYMFO_SQL_SERVER_NAME:SQLSV1 |
Symfoware/RDBのデータベースへのリモート接続における、接続方式を指定します。
なお、本キーワードは、CONNECT_TYPEキーワードに"REMOTE"を指定した場合に有効となります。
本キーワード省略時は"RDB2_TCP"となります。
SYMFO_REMOTE_TYPE:Symfoware/RDBへの接続方式 |
RDB2_TCP:RDB2_TCPで接続します(省略値)。
CONNECTION_MANAGER:Connection Managerで接続します。
SYMFO_REMOTE_TYPE:RDB2_TCP |
本キーワードを指定した場合、エラーログ管理ファイル満杯時の動作モードに従ってエラーログ情報を採取します。本キーワード省略時は、エラーログ情報を採取しません。
"エラーログ情報"および"エラーログ管理ファイル"については、"第9章 エラーロギング機能"を参照してください。
LOGMODE:エラーログ管理ファイル満杯時の動作モード |
エラーログ管理ファイルのサイズが最大に達した場合の逐次差分反映処理の動作を指定します。
EXIT:エラーメッセージを出力し、逐次差分反映処理を終了します。エラーログ情報採取中に何らかのエラーが発生し、エラーログ情報が出力できない場合にも逐次差分反映処理を終了します。
CONTINUE:警告メッセージを出力し、逐次差分反映処理を継続します。以降のエラーログ情報はlxrtmlogctlコマンドでエラーログ情報を退避または初期化するまで出力しません。エラーログ情報採取中に何らかのエラーが発生し、エラーログ情報が出力できない場合にも以降のエラーログ情報出力は行わず、逐次差分反映処理を継続します。
# exit when error log is full |
エラーログ情報採取時のエラーログ管理ファイルごとの最大サイズを指定します。エラーログ管理ファイルのサイズが本キーワードに指定した値を超えた場合は、LOGMODEキーワードで指定したモードに従います。
最大サイズを1~100(メガバイト)の範囲で指定します。
"エラーログ情報"および"エラーログ管理ファイル"については、"第9章 エラーロギング機能"を参照してください。
LOGSIZE:エラーログ管理ファイルごとの最大サイズ |
エラーログ管理ファイルの最大サイズを1~100(メガバイト)の範囲で指定します。省略値は10メガバイトです。
エラーログ管理ファイルには、編集エラーログ管理ファイルと格納エラーログ管理ファイルがあります。本キーワードではファイル1つあたりの最大サイズを指定してください。
1回のエラーで採取されるエラーログ情報のサイズによっては、本キーワードに指定したサイズを超えてエラーログ情報が出力されることがあります。エラーログ管理ファイルを格納するディレクトリには、1メガバイト程度あらかじめ余裕をもってディスクを割り当ててください。
LOGSIZE:10 |
エラーログ管理ファイルを格納するディレクトリ名を指定します。ディレクトリ名は230バイト以内の絶対パスで指定します。
本キーワードを省略した場合は、以下のディレクトリ配下にエラーログ管理ファイルを格納します。
/var/tmp/FJSVlnktr/log
インストールフォルダ\TRO\log
エラーログ管理ファイルについては、"第9章 エラーロギング機能"を参照してください。
LOGDIR:エラーログ管理ファイルを格納するディレクトリ名 |
エラーログ管理ファイルを格納するディレクトリ名を230バイト以内で指定します。存在しないディレクトリを指定した場合、作成します。
本ディレクトリ配下に出力されたエラーログ管理ファイルを直接参照/更新しないでください。直接参照/更新した場合、逐次差分反映処理の性能が劣化したり、逐次差分反映処理が停止する可能性があります。参照する場合は、エラーログ情報をlxrtmlogctlコマンドを使用して退避し、退避したファイルを参照してください。
ネットワークドライブ上のディレクトリは指定できません。
LOGDIR:d:\log |
LOG_OUTPUT_REDUNDANT_DATA_OPERATIONキーワード
冗長なデータ操作情報を示すログの出力の扱いを指定します。
本キーワードは、LOGMODEキーワードを指定した場合に有効になります。
LOG_OUTPUT_REDUNDANT_DATA_OPERATION:動作種別 |
OFF:冗長なデータ操作情報を示すログを出力しません(省略値)。
ON:冗長なデータ操作情報を示すログを出力します。
LOG_OUTPUT_REDUNDANT_DATA_OPERATION:ON |
システム取得項目のトランザクション識別子(TJNLTRNID)の変換モードを指定します。トランザクション識別子については"TJNL使用手引書"または"A.1.1 ジャーナル利用定義の規定"を参照してください。
TRANSACTIONID_CONV_MODE:トランザクション識別子の変換モード |
CHARCONV:トランザクション識別子を16バイトの文字列に変換します。なお、バイナリデータのa~fは英大文字に変換します。
NOCONV:トランザクション識別子の変換を行いません(省略値)。
TRANSACTIONID_CONV_MODE:CHARCONV |