ローダー・パッケージを使用すれば、以下のようにしてローダーをカスタマイズできます。
ローダーのこれらのフィーチャーは、以下の事柄を実行することによってカスタマイズできます。
![]()
![]()
![]()
![]()
MassLoadCustomizer.properties は、MassLoader.zip アーカイブにあります。 このファイルを抽出し、.properties 拡張子はそのままにして名前を変更し、 クラスパス内のディレクトリーに置きます。
ISeries_LODWCSDTA_Customizer.properties は、
/QIBM/ProdData/WebCommerce/properties ディレクトリーにあります。 このファイルを /instroot/xml ディレクトリーにコピーし、
.properties という拡張子をそのままにしながら新規ファイルの名前を変更し、
その後この新規ファイルに必要な変更を行います。重要: オリジナルの ISeries_LODWCSDTA_Customizer.properties ファイルを除去または変更しないでください。
コンポーネントを置換する
ローダー・カスタマイザー・プロパティー・ファイル内の以下のエレメントに、 デフォルトのインプリメンテーションを置き換えるクラスの値を与えることができます。
- ParserName
- 使用するパーサーの名前
- ValidatorName
- 使用するバリデーターの名前
- FormatterName
- 使用するフォーマッターの名前
- JDBCFormatterName
- SQL インポート・メソッドを使用する場合のフォーマッターの名前
- WriterName
- 使用するライターの名前
- JDBCWriterName
- SQL インポート・メソッドを使用する場合のライターの名前
ローダーのデフォルト・ライター (DefaultWriter) を、 たとえばライター com.abc.writer.SpecialWriter で置き換えるには、 ローダー・カスタマイザー・プロパティー・ファイルに以下のように指定します。
WriterName = com.abc.writer.SpecialWriter
ローダーは、"com.abc.writer.SpecialWriter" を使用して書き込み機能を実行します。
入力ファイル内のエレメントを無視するようにローダーを設定する
ターゲット・データベースにマップしないエレメントが入力ファイルに入っている場合は、 ローダー・カスタマイザー・プロパティー・ファイル内のそのようなエレメントを無視するようにローダーを設定できます。 無視するエレメントを指定するには IgnoreElements を使用し、これらのエレメントはセミコロン (;) で区切ります。 たとえば、インポート、リテラル、および ProductRepository エレメントを無視するには、 ローダー・カスタマイザー・プロパティー・ファイル内に以下のように指定します。
IgnoreElements = import;literals;ProductRepository
イベント・キューを管理する
ローダー・カスタマイザー・プロパティー・ファイル内の設定を変更することによって、 イベント・キューを管理できます。 たとえば、以下のようにします。
QueueLowCount = 35 QueueHighCount = 90
キューを満たしているイベントのソースは、 キュー内のエレメントの数が上限に達するとブロックされ、 エレメントがそれ以上キューに入らなくなります。 キュー内のエレメントの数が下限を下回ると、キューは再びイベントを受け入れるようになります。
さまざまなデータベースおよびオペレーティング・システムで実行できるようにローダーを設定する
ローダー・カスタマイザー・プロパティー・ファイル内の以下のエレメントのパラメーターを変更して、 さまざまなデータベース・ソフトウェアおよびオペレーティング・システムを指定できます。
これらのアイテムのいずれかをカスタマイズするには、 ローダー・カスタマイザー・プロパティー・ファイル内のコマンドの先頭にあるダブルスラッシュのコメント文字 (//) を除去して、デフォルトを変更します。
デフォルト (DB2 を使用しているという想定) を変更する場合は、データベース接続コマンドのパラメーターを変更できます。
DBConnectCommand = connect to {0} user {1} using {2};ここで:
0 = データベース名
1 = データベースのユーザー
2 = ユーザー・パスワード
デフォルトを変更する場合は、データベース・ロード・テーブル・コマンドのパラメーターを変更できます。
DBLoadTableCommand = load from {0} of del modified by coldel{1} chardel{2} insert into {3} ({4});ここで:
0 = ファイル名
1 = 列区切り文字
2 = 桁区切り文字
3 = テーブル名
4 = コンマ (,) で区切られた列名
デフォルトを変更する場合は、データベース・インポート・コマンドのパラメーターを変更できます。
DBImportCommand = import from {0} of del modified by coldel{1} chardel{2} insert_update into {3} ({4});ここで:
0 = ファイル名
1 = 列区切り文字
2 = 桁区切り文字
3 = テーブル名
4 = コンマ (,) で区切られた列名
デフォルトを変更する場合は、ロードを呼び出すシステム・コマンドのパラメーターを変更できます。 このコマンドは、ローダーが生成する固有のロードおよびインポート・スクリプトを実行します。
DBLoadCommand = db2clpex DB2 -z {0} -astvf {1}
ここで:
0 = ログ・ファイル名
1 = コマンド・ファイル名たとえば、AIX 上で稼働している DB2 の場合は、DBLoadCommand プロパティーの値は以下のとおりです。
db2 -tvf {1} -z {0}
![]()
![]()
![]()
DBLoadCommand = sqlldr log={0} control={1} USERID={2}
ここで:
0 = ログ・ファイル名
1 = コマンド・ファイル名
2 = データベース・ユーザー名
データベースとオペレーティング・システムのさまざまな組み合わせには、以下の設定を使用します。
![]()
![]()
Windows NT または Windows 2000 上で稼働している DB2 の場合は、sqlimport、load、import、または delete メソッドで、db2/dbconnect.zip を組み込むようにクラスパス・システム環境変数を設定する。
![]()
![]()
![]()
AIX、Solaris、 または Linux 上で稼働している DB2 の場合は、以下のようにする。
- sqlimport、load、import、または delete メソッドで、 db2/dbconnect.zip を組み込むようにクラスパス・システム環境変数を設定する。
- load または import メソッドで、 ローダー・カスタマイザー・プロパティー・ファイル内の以下のプロパティーを変更する。
/** * Connection command. (Default is for DB2) * parameter 0 = dbName * parameter 1 = dbUser * parameter 2 = userPasswd */ DBConnectCommand = connect to {0} user {1} using {2}; /** * Load Data into Table command. (Default is for DB2) * parameter 0 = filename * parameter 1 = column delimiter * parameter 2 = character delimiter * parameter 3 = name of the table * parameter 4 = name of the columns, separated by comma(,)s */ DBLoadTableCommand = load from {0} of del modified by coldel{1} insert into {3} ({4}); /** * Insert Data into Table command. (Default is for DB2) * parameter 0 = filename * parameter 1 = column delimiter * parameter 2 = character delimiter * parameter 3 = name of the table * parameter 4 = name of the columns, separated by comma(,)s */ DBUpdateTableCommand = import from {0} of del modified by coldel{1} insert_update into {3} ({4}); /** * System command to invoke load (Default is for DB2) * parameter 0 = logFileName * parameter 1 = commandFileName */ DBLoadCommand = db2 -z {0} -tf {1}
![]()
iSeries 上で稼働している DB2 の場合は、sqlimport、load、import、または delete メソッドで、ローダー・カスタマイザー・プロパティー・ファイル内の以下のプロパティーを変更する。
/** * The connect string. */ ConnectStringID = jdbc:db2:// /** * The JDBC driver information. */ JDBCDriverName = com.ibm.db2.jdbc.app.DB2Driver DbVendorName=DB2/iSeries /** * Custom writer for load/import methods. */ WriterName=com.ibm.wca.MassLoader.Writer.ISeriesWriter
![]()
![]()
![]()
![]()
![]()
Windows NT、 Windows 2000、AIX、Solaris、または Linux 環境で稼働している Oracle データベースの場合は、 sqlimport、load、import、または delete メソッドで、 oracle/dbconnect.zip を組み込むようにクラスパス・システム環境変数を設定する。
ローダーを使用可能にし、列に NULL を挿入する
ローダー・カスタマイザー・プロパティー・ファイル内の EnableNULLCheck プロパティーを "true" に設定することによって、 ローダーを使用可能にし、列に NULL を挿入することができます。 たとえば、
EnableNULLCheck = true
パフォーマンス上の理由で、このフィーチャーはデフォルトでは使用不可です。
NULLStringLiteral プロパティーを使用して、データ内におけるヌル値のストリング表記を決定します。 たとえば、ヌル値を表すのにストリング "-" を使用するようローダーを設定するには、 ローダー・カスタマイザー・プロパティー・ファイル内の以下のプロパティーおよび値を指定します。
NULLStringLiteral = -
デフォルトでは、このプロパティーの値は "NULL" です。(引用符はありません)
タイム・スタンプ・マスクを設定する
ローダー・カスタマイザー・プロパティー・ファイル内のタイム・スタンプ・マスクの変更または追加については、 以下の関連する『現在タイム・スタンプのロード』タスクおよび『タイム・スタンプおよび日付データのロード』タスクを参照してください。
![]() |