uCosminexus DocumentBroker Object Loader Version 3
![[目次]](figure/content.gif)
![[索引]](figure/index.gif)
![[前へ]](figure/front.gif)
制御ファイルは,二つのセクションとセクションを構成する幾つかのエントリで構成されます。
表4-2に制御ファイルに記述するセクションと機能の概要を示します。
表4-2 制御ファイルのセクションと機能概要
| セクション名 |
機能概要 |
| Control |
入力データファイルの記述形式やオブジェクトローダの動作を制御する情報を定義する。 |
| DataMapping |
ユーザが追加するクラスに対するプロパティの並びや,DocumentBroker標準クラスにユーザが追加するプロパティの並びを定義する。 |
- <この項の構成>
- (1) Controlセクション
- (2) DataMappingセクション
DocumentBroker Object Loaderの動作を制御する情報を指定するセクションです。Controlセクションに指定するエントリは次のとおりです。
- 機能
- エラーログファイルの出力先をファイルパスで指定します。
- 指定形式
ErrorLog = 出力先のファイルパス
- 指定規則
- 機能
- エラーデータファイルの出力先をファイルパスで指定します。
- 指定形式
ErrorDataFile = 出力先のファイルパス
- 指定規則
- 機能
- 警告レベルのエラーの許容件数を指定します。エラー発生件数が,このエントリで指定した値になった場合は,オブジェクトローダの実行を停止します。停止する場合,実行されていない入力データはエラーデータファイルに出力しません。
- 指定形式
StopCount = 許容件数
- 指定規則
- 警告レベルのエラーの許容件数は,0〜2147483647の間の10進表記で指定してください。範囲以外の値を指定した場合は,エラーメッセージを出力してオブジェクトローダを終了します。
- 許容件数の指定を省略したとき「1」が仮定されます。
- 許容件数に「0」を指定した場合はオブジェクトローダは停止しません。
- 機能
- 入力データファイル中のカラム間区切り文字(1バイト)を引用符(")で囲んで指定します。
- 指定形式
ColumnSeparator = "区切り文字(1バイト)"
- 指定規則
- 区切り文字に,「[」,「]」,「/」,「=」,「'」,「"」,「.」,数値(0〜9),「#」,「{」,「}」,「|」,「+」,「-」は指定できません。指定した場合は,エラーメッセージを出力してオブジェクトローダを終了します。
- 区切り文字には,RecordSeparatorエントリおよびLineContinueエントリと同じ文字は指定できません。指定した場合は,エラーメッセージを出力してオブジェクトローダを終了します。
- 指定を省略したときは,コンマ(,)が仮定されます。
- 使用できるエスケープシーケンス文字は,「\」またはバックスラッシュに続く1文字で表します。指定可能なエスケープシーケンス文字は,次のとおりです。
"\n"(復帰改行)
"\t"(水平タブ)
"\f"(改ページ)
"\\"(文字の\)
- 指定例
- ColumnSeparatorエントリの指定例を表4-5に示します。
表4-5 ColumnSeparatorエントリの指定例
| 指定例 |
動作 |
| ColumnSeparator="\n" |
復帰改行コードを区切り文字にする |
| ColumnSeparator="\a" |
指定できない文字なのでエラーになる |
| ColumnSeparator="*" |
アスタリスク(*)を区切り文字にする |
| ColumnSeparator=* |
引用符(")で囲んでいないため,エラーになる |
- 機能
- 入力データファイル中の行間区切り文字(1バイト)を引用符(")で囲んで指定します。
- 指定形式
RecordSeparator = "区切り文字(1バイト)"
- 指定規則
- 区切り文字に,「[」,「]」,「/」,「=」,「'」,「"」,「.」,数値(0〜9),「#」,「{」,「}」,「|」,「+」,「-」は指定できません。指定した場合は,エラーメッセージを出力してオブジェクトローダを終了します。
- 指定を省略したときは,「"\n"」(復帰改行:UNIXの場合は0x0a,Windowsの場合は0x0d0a)が仮定されます。
- 使用できるエスケープシーケンス文字は,「\」またはバックスラッシュに続く1文字で表します。指定可能なエスケープシーケンス文字は,次のとおりです。
"\n"(復帰改行)
"\t"(水平タブ)
"\f"(改ページ)
"\\"(文字の\)
- 区切り文字には,ColumnSeparatorエントリおよびLineContinueエントリと同じ文字は指定できません。指定した場合は,エラーメッセージを出力してオブジェクトローダを終了します。
- テキストエディタによってはデータの終端([EOF])の前に復帰改行コード(\n)が入る場合があります。「RecordSeparator="\n"」以外を設定している場合は,上記の(\n)は行間区切り文字とみなされず通常の文字と同じ扱いになりますので注意してください。
- 指定例
- RecordSeparatorエントリの指定例を表4-6に示します。
表4-6 RecordSeparatorエントリの指定例
| 指定例 |
動作 |
| RecordSeparator="\n" |
復帰改行コードを区切り文字にする |
| RecordSeparator="\a" |
指定できない文字なのでエラーになる |
| RecordSeparator="*" |
アスタリスク(*)を区切り文字にする |
| RecordSeparator=* |
引用符(")で囲んでいないため,エラーになる |
- 機能
- データの入力を開始する位置を,入力データファイルの行数で指定します。StartPointエントリの値と入力データファイルの入力開始位置について図4-1に示します。
図4-1 StartPointエントリの値と入力データファイルの入力開始位置
![[図データ]](figure/zu040100.gif)
- 指定形式
StartPoint = 入力データファイル内の行数
- 指定規則
- データの入力を開始する位置を,入力データファイルの行数で指定します。行数には,コメント行や空行も含めます。
- データの入力開始位置は,1〜2147483647の間の10進表記で指定してください。
- 省略時は,「1」が仮定されます。
- 数値以外を指定した場合や,範囲以外の数値を指定した場合は,エラーメッセージを出力してオブジェクトローダを終了します。
- 指定した行数が入力データファイルに存在しない場合も,エラーメッセージを出力してオブジェクトローダを終了します。
- 機能
- データベースのOIIDテーブルから一度に取得するOIIDの個数を指定します。
- 次の二つの条件をすべて満たす場合にだけ有効なエントリです。
- High-end Optionをインストールしている環境である
- オブジェクトローダの並列実行をする("-S"オプション,"-M"オプションを指定しない)
- これら二つの条件を満たさない場合は,指定しても無視されます。
- 指定形式
OIID_Count = OIIDの個数
- 指定規則
- OIIDの個数は,0〜2147483647の間の10進表記で指定してください。
- 数値以外を指定した場合や,範囲以外の数値を指定した場合は,エラーメッセージを出力してオブジェクトローダを終了します。
- 「0」を指定した場合,オブジェクトは登録されないで,OIIDテーブルも更新されません。この場合,オブジェクトローダの終了時に,使用したOIIDの個数がメッセージ(KMBV11005-I)に出力されます。
- オブジェクトを登録する前に,OIID_Countエントリの指定を「0」にしてオブジェクトローダを実行して,OIIDの個数を取得したあと,取得したOIIDの個数をOIID_Countエントリに指定してオブジェクトローダを実行することをお勧めします。必要なOIIDの個数より指定値が大きい場合,オブジェクトに対応しない不要なOIIDができるためです。
- OIID_Countエントリが有効である場合,OIID_Countエントリを省略すると,作成コマンド(CREATE_xxx)ごとにOIIDが取得されます。
- 機能
- 処理の経過を示すメッセージ(KMBV11014-I)を出力する間隔を指定します。
- 指定形式
MsgInterval = 行数
- 指定形式
- 指定する行数はオブジェクトローダ入力データファイルのコマンド行数に相当します。0〜2147483647の間の10進表記で指定してください。
- 省略時は,「10000」が仮定されます。
- 0を指定した場合はメッセージを出力しません。
- 数値以外や範囲外の数値が指定された場合は,省略時の値を仮定します。
- 指定値を小さくする程,処理の経過を示すメッセージが頻繁に出力されますので,登録するデータ行に応じて適切な値を設定してください。
- 機能
- 入力値を複数の行(行はRecordSeparatorエントリで指定した文字)で記述する場合の,ライン継続文字(1バイト)を引用符(")で囲んで指定します。
- 指定形式
LineContinue = "区切り文字(1バイト)"
- 指定規則
- 区切り文字には,ColumnSeparatorエントリおよびRecordSeparatorエントリと同じ文字は指定できません。指定した場合は,エラーメッセージを出力してオブジェクトローダを終了します。
- 区切り文字に,「[」,「]」,「/」,「=」,「'」,「"」,「.」,数値(0〜9),「#」,「{」,「}」,「|」は指定できません。指定した場合は,エラーメッセージを出力してオブジェクトローダを終了します。
- 入力値を複数の行で記述する場合には,ライン継続文字の直後にRecordSeparatorエントリの指定値(行間区切り文字)が存在する必要があります。直後に行間区切り文字が存在しない場合は,ライン継続文字で指定した文字は入力値の文字とみなされます。
- エントリは指定していても値を記述していない場合には「+」が仮定されます。エントリ省略時は入力値を複数の行で記述することはできません。
- エスケープシーケンス文字は,「\」またはバックスラッシュに続く1文字で表します。指定可能なエスケープシーケンス文字は,次のとおりです。
"\n"(復帰改行)
"\t"(水平タブ)
"\f"(改ページ)
"\\"(文字の\)
- 指定例
CREATE_RFCT,LABEL-C,JIKEN-CONTAINER,AAA,+(\n)
BBB,CCC,…
- 機能
- 入力データファイル中のプロパティ値(MVARCHAR型)中に,「"0x00"」または「0x00」が存在する場合,データベースへ格納する「\0」値の種別を指定します。
- 指定形式
EmptyValue = (0または1)
- 指定規則
- データベースに格納する文字を0x00にする場合は「0」を,空文字(長さ0バイトの文字列)を格納する場合は「1」を指定します。
- 省略時は,「EmptyValue=0」が仮定されます。
- 「0」または「1」以外の値を設定した場合にはエラーリターンします。
- 「0x00」はバイナリコードのため,入力データファイルへの設定はバイナリコードのエディタ(xiなど)およびアプリケーションプログラムで行ってください。テキストエディタ(viなど)での入力はできません。
- バイナリコードのエディタ・アプリケーションプログラムなどで設定された入力データファイルの「0x00」はテキストエディタでは見えません。
- 指定例
- EmptyValueエントリの指定例を表4-8に示します。
表4-8 EmptyValueエントリの指定例
| 指定例 |
動作 |
| EmptyValue=0 |
データベースのカラム属性がMVARCHAR型のプロパティ値として「0x00」または「"0x00"」が存在する場合,データベースのカラム値としてデータ長1バイトの値「0x00」を設定する。 |
| EmptyValue=1 |
データベースのカラム属性がMVARCHAR型のプロパティ値として「0x00」または「"0x00"」が存在する場合,データベースのカラム値として空文字(長さ0バイトの文字列)を設定する。 |
| EmptyValue=上記以外 |
エラーメッセージ(KMBV11020-E)を出力して終了する。 |
- 注 データベースのカラム設定値について
- 0x00 :データ長1バイトの文字列。データ内容は「0x00」。
- 空文字:データ長0バイトの文字列。データ内容は不定。
- 機能
- XML文書を登録する場合に指定するエントリです。
- 指定形式
XmlBroker = HAX
- 指定規則
- 「HAX」を指定します。
- このエントリの記述は省略できません。
- XmlBrokerエントリに指定がない場合,または「HAX」以外の値を指定した場合は,ワーニングメッセージ(KMBV11075-W)を出力し,そのオブジェクトを無視して処理を続行します。
- 指定例
- XmlBrokerエントリの指定例を表4-9に示します。
表4-9 XmlBrokerエントリの指定例
| 指定例 |
動作 |
| XmlBroker=HAX |
XML文書をHiRDB Adapter for XMLで登録します。 |
| XmlBroker=上記以外 |
ワーニングメッセージ(KMBV11075-W)を出力し,そのオブジェクトを無視して処理を続行します。 |
- 機能
- 定義ファイルのClassNameDefinitionセクションで定義したクラスとプロパティの対応関係を定義するセクションです。
- 指定形式
- エントリは定義ファイルのClassNameDefinitionセクションで定義したクラスの最上位クラスごとに次の形式で記述します。
クラス名=プロパティ名[,プロパティ名…]
プロパティ名::={プロパティ名 | VariableArray型プロパティ名 | システム定義プロパティ名}
- 指定規則
- プロパティ名には,定義ファイルのPropNameDefinitionセクションで定義したプロパティ名を指定してください。クラス関連ファイルで関連を定義している場合は,「登録先クラス名@」をプロパティ名に修飾して指定してください。
- VariableArray型プロパティ名の場合,edmClass_Structクラスのサブクラスを要素とするプロパティを指定するときは,「edmClass_Structサブクラス名.」をプロパティ名に修飾して指定してください。
- システム定義プロパティ名は,システム定義のプロパティを「**PROP_xxx**」という形式で指定してください。指定できるシステム定義プロパティについては,「4.5.5(6) プロパティ値の指定」を参照してください。
- 指定例
- DataMappingセクションの指定例を図4-2に示します。
図4-2 DataMappingセクションの指定例
![[図データ]](figure/zu040200.gif)
All Rights Reserved. Copyright (C) 2007, Hitachi, Ltd.
All Rights Reserved. Copyright (C) 2007, 2009, Hitachi Systems & Services, Ltd.