取得定義を記述したファイルを取得定義ファイルと呼びます。取得定義ファイルには、複数の取得定義を記述できます。取得定義ファイルは、ユーザが任意の通常ファイル上にテキストファイルとして作成します。
取得定義ファイルは、メモ帳などの編集ツールを使用して定義してください。取得定義の記述方法の詳細については、"13.5.4.3 取得定義の記述"を参照してください。
取得定義の登録は、tjnlfmtdefコマンドを使用して行います。tjnlfmtdefコマンドの詳細は、"13.10.3.6 tjnlfmtdef(取得定義を登録する)"を参照してください。
以下にtjnlfmtdefコマンドの入力例を示します。
----------------------------------------------- tjnlfmtdef -a -f c:\tjnl\def\FMT.def -----------------------------------------------
取得定義の記述方法について説明します。
なお、取得定義の記述規約については、"B.5.3 取得定義構文(SQL Server連携)"を参照してください。
取得定義の記述形式を、"表13.21 取得定義の記述形式"に示します。
LOGFMT 取得定義名 -- 取得定義名 SYSITEM システム取得項目 -- システム取得項目情報 TABLE 更新資源名 : データベース名.スキーマ名.テーブル名 -- ジャーナル取得対象列情報 ( 項目名 : 列名 データ属性 列編集情報 ) CHECKPOINT ジャーナル・チェックポイント名 -- ジャーナル・チェックポイント情報 COMMENT コメント文 ; |
取得定義の記述内容の説明を"表13.22 取得定義の記述内容"に示します。取得定義の構文、および指定値の詳細については、"B.5.3 取得定義構文(SQL Server連携)"を参照してください。
キーワード | 省略 | 記述方法 | 記述内容の説明 |
---|---|---|---|
不可 | 取得定義名を指定します。 | 取得定義名を指定します。 本キーワードから";"までが1つの取得定義となります。 | |
可 | 以下のいずれかの形式で指定します。 TJNLSYSALL:すべてのシステム取得項目を取得対象とします 本キーワードを省略した場合は、システム取得項目は取得されません。 | 取得するシステム取得項目を指定します。 複数のシステム取得項目を取得対象とする場合は、システム取得項目を","で区切って記述してください。 | |
不可 | 以下の形式で指定します。 更新資源名 : データベース名.スキーマ名.テーブル名 | ジャーナルを取得する列を指定します。 同一テーブル内の複数の列を取得対象とする場合は、"項目名:列名 データ属性 列編集情報"を","で区切って記述してください。 複数のテーブルをジャーナル取得対象とする場合は、本キーワードを複数記述してください。 同一のテーブルを複数指定する場合は、更新資源名は同じでなければなりません。 列編集情報については、"列編集情報"を参照してください。 | |
可 | ジャーナル・チェックポイント名を指定します。 | 配付を要求するジャーナル・チェックポイントを識別するジャーナル・チェックポイント名を指定します。 複数のジャーナル・チェックポイント名を指定する場合は、"ジャーナル・チェックポイント名"を","で区切って記述してください。 | |
可 | 任意の文字列を指定します。 | 取得定義に対するコメント文を指定します。 |
注)取得定義を削除する場合は、省略できます。
列編集情報とは、外部10進数の列の符号情報を付加せず差分抽出するなど、ジャーナルを取得する列を編集する情報のことです。
列編集情報は、"CONV = (列編集指示)"の形式で指定します。
列編集指示の機能の説明を"列編集情報"に示します。列編集指示の構文、および指定値の詳細については、"B.5.3 取得定義構文(SQL Server連携)"を参照してください。
列編集指示 | 機能 |
---|---|
外部10進数または内部10進数の列において、符号情報を付加せず差分抽出します。 | |
(注4) | 固定長文字列、可変長文字列、またはmax指定の可変長各国語文字列の列において、指定した長さで差分抽出します。 |
注1)配付定義のOutCodeにGS_KANAまたはGS_ASCIIを指定した場合、符号情報を付加せず差分抽出します。
配付定義のOutCodeにGS_KANAまたはGS_ASCII以外を指定した場合、列編集指示の指定に関わらず、符号情報を付加して差分抽出します。
注2)配付定義のCharInfoにEXTENDを指定した場合、文字列領域のサイズを拡張せず、SIZE(長さ)で指定した長さで差分抽出します。
注3)max指定の可変長各国語文字列の場合、長さには文字数を指定します。
注4)取得定義にmax指定の可変長各国語文字列を指定した場合、SIZE(長さ)を必ず指定しなければなりません。
取得定義の記述例を"表13.24 取得定義の記述例"に示します。
LOGFMT LOG_NKANTO SYSITEM TJNLRESOURCE,TJNLDBOP,TJNLTIME TABLE TBL001 : 販促.関東地区.家電 ( OFFICE_ID : 販売店コード INT , ITEM_ID : 製品番号 INT , ITEM_DIVISION : 製品区分 NUMERIC(5,0) CONV=(SIGN(OFF)) , ITEM_NAME : 製品名 VARCHAR(max) CONV=(SIZE(300)) , SALE_NUM : 販売数 INT) CHECKPOINT DAYEND , WEEKEND COMMENT "北関東地区の家電製品販売状況収集用定義"; |