データを DB2 表にロードします。 サーバー上に存在するデータは、ファイル、テープ、 または名前付きパイプの形式にすることができます。 リモートに接続されたクライアント上に存在するデータは、 完全修飾ファイルまたは名前付きパイプの形式にすることができます。 テープは OS/2 ではサポートされていません。 ロード・ユーティリティーでは、階層レベルのデータのロードはサポートされていません。
効力範囲
このコマンドは、直接接続が存在している区画にのみ影響を及ぼします。 ロード・ユーティリティーは単一のデータベース区画に対してのみ機能します。
リモートに接続されたクライアント上に存在するデータのロードは、 以下の条件下ではサポートされません。
許可
以下のどれかが必要です。
注: | すべてのロード・プロセス (および一般にすべての DB2 サーバー・プロセス) はインスタンス所有者によって所有されており、 それらのプロセスすべてにおいて、 必要なファイルにアクセスするためにそのインスタンス所有者の ID を使うため、 インスタンス所有者には入力データ・ファイルに対する読み取りアクセス権が必要です。 このコマンドをだれが呼び出すかには関係なく、 それらの入力データ・ファイルをインスタンス所有者から読むことができなければなりません。 |
必須接続
データベース。 暗黙接続が可能な場合には、省略時データベースへの接続が確立されます。
インスタンス。 明示的な接続は必要ありません。 データベースへの接続が確立している場合には、 ローカル・インスタンスへの暗黙接続が試行されます。
コマンド構文
.-,-------------. V | >>-LOAD----+---------+--FROM------+-filename-+--+---------------> '-CLIENT--' +-pipename-+ '-device---' >----OF--filetype----+-----------------------------+------------> | .-,-----------. | | V | | '-LOBS FROM-----lob-path---+--' >-----+-----------------------------------+---------------------> | .-----------------. | | V | | '-MODIFIED BY-----filetype-mod---+--' >-----+-----------------------------------------------------------------------------------------------------------------+> | .-,---------------------------. | | V | | '-METHOD--+-L--(-----column-start--column-end---+---)--+-----------------------------------------------------+-+--' | | .-,----------------------. | | | | V | | | | '-NULL INDICATORS--(-----null-indicator-list---+---)--' | | .-,--------------. | | V | | +-N--(-----column-name---+---)-----------------------------------------------------------------------+ | .-,------------------. | | V | | '-P--(-----column-position---+---)-------------------------------------------------------------------' >-----+---------------+---+--------------+----------------------> '-SAVECOUNT--n--' '-ROWCOUNT--n--' >-----+------------------+---+-------------------------+--------> '-WARNINGCOUNT--n--' '-MESSAGES--message-file--' >-----+--------------------------------+---+-INSERT----+--------> '-TEMPFILES PATH--temp-pathname--' +-REPLACE---+ +-RESTART---+ '-TERMINATE-' >----INTO--table-name----+------------------------------+-------> | .-,----------------. | | V | | '-(-----insert-column---+---)--' >-----+--------------------------------------------+------------> '-DATALINK SPECIFICATION--| datalink-spec |--' >-----+----------------------------+----------------------------> '-FOR EXCEPTION--table-name--' >-----+-------------------------------------------------------------------------------------------+> | .-YES-. | '-STATISTICS--+-+-----+--+-+---------------------------------------------------------+-+-+--' | | '-WITH DISTRIBUTION--+---------------------------------+--' | | | | '-AND--+----------+--INDEXES ALL--' | | | | '-DETAILED-' | | | '-+---------------------------------------+-------------------' | | '--+-AND-+---+----------+--INDEXES ALL--' | | '-FOR-' '-DETAILED-' | '-NO-----------------------------------------------------------------------' >-----+------------------------------------------------------------------+> | .-NO-----------------------------------------------------. | +-COPY--+-YES--+-USE TSM--+---------------------------+--------+-+-+ | | '-OPEN--num-sess--SESSIONS--' | | | | .-,-------------------. | | | | V | | | | +-TO-----device/directory---+-------------------+ | | '-LOAD--lib-name--+---------------------------+-' | | '-OPEN--num-sess--SESSIONS--' | '-NONRECOVERABLE---------------------------------------------------' >-----+---------------+---+--------------------+----------------> '-HOLD QUIESCE--' '-WITHOUT PROMPTING--' >-----+---------------------------+---+---------------------+---> '-DATA BUFFER--buffer-size--' '-CPU_PARALLELISM--n--' >-----+----------------------+----------------------------------> '-DISK_PARALLELISM--n--' >-----+---------------------------------+---------------------->< '-INDEXING MODE--+-AUTOSELECT--+--' +-REBUILD-----+ +-INCREMENTAL-+ '-DEFERRED----' datalink-spec .-,--------------------------------------------------------------------------------------------------. V | |------(--+-----------------+--+----------------------------------+---+--------------------------+---)---+-> '-DL_LINKTYPE URL-' +-DL_URL_REPLACE_PREFIX--"prefix"--+ '-DL_URL_SUFFIX--"suffix"--' '-DL_URL_DEFAULT_PREFIX--"prefix"--' >---------------------------------------------------------------|
コマンド・パラメーター
注:
以下の例では、リモートに接続されたクライアント上に存在するデータ・ファイル (/u/user/data.del) は、 サーバー・データベース上の MYTABLE にロードされます。
db2 load client from /u/user/data.del of del modified by codepage=850 insert into mytable
注:
このメモリーは、ユーティリティー・ヒープから直接に割り当てられ、 そのサイズは util_heap_sz データベース構成パラメーターで修正可能です。
値を指定しない場合、 ユーティリティーの実行時にインテリジェントな省略時値が計算されます。 この省略時値は、表の特性だけでなく、 ローダーのインスタンス生成時にユーティリティー・ヒープ中で使用可能な空きスペースの割合に基づいています。
DATALINK 列指定の数は、表で定義されている DATALINK の数と同じだけ定義できます。 指定の順序は、挿入列 リストの中での DATALINK 列の順序、 または表定義内での順序 (挿入列 リストが指定されていない場合) に従います。
接頭部の例
"http://server" "file://server" "file:" "http://server:80" "dfs://.../cellname/fs"
列データの中に接頭部がない場合、 DL_URL_DEFAULT_PREFIX で省略時の接頭部が指定されているなら、 列の値の接頭部としてその省略時接頭部が付けられます (NULL でない場合)。
たとえば、 DL_URL_DEFAULT_PREFIX で省略時接頭部が "http://toronto" として指定されている場合、
たとえば、DL_URL_REPLACE_PREFIX で接頭部が "http://toronto" として指定されている場合、
例外表に書き込まれる情報は、 ダンプ・ファイルには書き込まれません (dumpfile 修飾子については、表 7 を参照)。 区分データベース環境では、 例外表は、ロードする表が定義されたノードについて定義する必要があります。 一方ダンプ・ファイルは、 無効であるか構文エラーであるためにロードできない行が含まれます。 詳しくは、 データ移動ユーティリティー 手引きおよび解説書 を参照してください。
注:
db2 quiesce tablespaces for table <tablename> reset
注: | ファントム静止 が作成されないようにしてください (QUIESCE TABLESPACES FOR TABLEを参照)。 |
以下の条件がすべて真の場合、増分索引の作成はサポートされません。
この制限をう回するため、索引は別々の表スペースに置くようお勧めします。
据え置き索引作成がサポートされるのは、非固有の索引があるために、 ロード・フェーズで挿入される複写キーがロード操作後は永続的ではなくなる表だけです。
注: | 据え置き索引作成は、DATALINK 列がある表ではサポートされません。 |
ロード・ユーティリティーは、1 つまたは複数のスペースを含んだ名前の列を解析できません。 たとえば、次のように指定します。
db2 load from delfile1 of del modified by noeofchar noheader method P (1, 2, 3, 4, 5, 6, 7, 8, 9) insert into table1 (BLOB1, S2, I3, Int 4, I5, I6, DT7, I8, TM9)
は、Int 4 列があるためエラーになります。 これは、次のようにして二重引用符で列名を囲むことによって解決できます。
db2 load from delfile1 of del modified by noeofchar noheader method P (1, 2, 3, 4, 5, 6, 7, 8, 9) insert into table1 (BLOB1, S2, I3, "Int 4", I5, I6, DT7, I8, TM9)
通常、メッセージ・ファイルには、ロード操作の終了時にメッセージが入れられますが、 それ自体は操作の進行状況のモニターには適していません。 ロード操作のリアルタイムのモニターについては、 LOAD QUERYを参照してください。
注: | このメソッドは、ASC ファイルの場合にのみ使用することができ、 そのファイル・タイプに対してのみ有効なオプションです。 |
注: | この方式は、IXF ファイルの場合にのみ使用することができます。 |
注: | この方式は、IXF または DEL ファイルの場合にのみ使用でき、 DEL ファイル・タイプに対してのみ有効なオプションです。 |
このオプションを指定した場合、 ロード操作の後、表スペースはバックアップ保留状態になりません。 また、ロード操作時にロードされたデータのコピーを作成する必要はありません。
FILE LINK CONTROL が指定された DATALINK 列が表に存在している場合や、 そのような列を表に追加しようとしている場合には、このオプションを使用しないでください。
ヌル標識列中の Y の値は、その列データがヌル値であることを指定します。 ヌル標識列に Y 以外 の文字を指定した場合は、 列データがヌル値ではなく、METHOD L オプションで指定された列データがロードされることを指定することになります。
ヌル標識文字は MODIFIED BY オプションを使用して変更できます (表 7 の nullindchar 修飾子の説明を参照)。
ファイル形式の詳細については、データ移動ユーティリティー 手引きおよび解説書 の付録『Export/Import/Load ユーティリティー・ファイル形式』を参照してください。
このオプションは DATALINK 列を含む表ではサポートされません。
省略時値はゼロですが、それは、 必要がなければ一貫性ポイントは確立されないことを意味します。
一時ファイルは、ファイル・システムのスペースを使用します。 場合によっては、このスペースが相当必要になります。 以下に示すのは、 すべての一時ファイルにどの程度のファイル・システム・スペースを割り振るべきかの見積もりです。
一時ファイルの詳細については、 データ移動ユーティリティー 手引きおよび解説書 を参照してください。
ロード終了オプションを使用しても、 表スペースからバックアップ保留状態が取り除かれることはありません。
注: | このオプションは DATALINK 列を含む表ではサポートされません。 |
このオプションを指定しない場合に、 テープ装置がコピー・イメージ用のテープの終わりに達した場合、 またはリスト中の最後の項目がテープ装置であった場合は、 ユーザーに対してその装置に新しいテープを装着するよう求めるプロンプトが出されます。 テープは OS/2 ではサポートされていません。
例
例 1
TABLE1 に次の 5 つの列があるとします。
ASCFILE1 に次の 6 つの要素があるとします。
データ・レコードは次のとおりです。
1...5....10...15...20...25...30...35...40 Test data 1 XXN 123abcdN Test data 2 and 3 QQY wxyzN Test data 4,5 and 6 WWN6789 Y
次のコマンドは、ファイルから表をロードします。
db2 load from ascfile1 of asc modified by striptblanks reclen=40 method L (1 20, 21 22, 24 27, 28 31) null indicators (0,0,23,32) insert into table1 (col1, col5, col2, col3)
注:
例 2 (ファイルから LOB をロードする)
TABLE1 に次の 3 つの列があるとします。
ASCFILE1 には次の 3 つの要素があるとします。
次に示すファイルは、 /u/user1 または /u/user1/bin のどちらかにあります。
ASCFILE1 内のデータ・レコード
1...5....10...15...20...25...30. REC1 ASCFILE2 ASCFILE3 REC2 ASCFILE4 ASCFILE5 REC3 ASCFILE6 ASCFILE7
次のコマンドは、ファイルから表をロードします。
db2 load from ascfile1 of asc lobs from /u/user1, /u/user1/bin modified by lobsinfile reclen=22 method L (1 4, 6 13, 15 22) insert into table1
注:
例 3 (ダンプ・ファイルの使用)
表 FRIENDS は、次のように定義されています。
table friends "( c1 INT NOT NULL, c2 INT, c3 CHAR(8) )"
次のデータ・レコードをこの表にロードしようとすると、
23, 24, bobby , 45, john 4,, mary
最初の INT が NULL で、列定義に NOT NULL が指定されているため、第 2 行は拒否されます。 DEL 形式と互換でない開始文字を含む列は、エラーを生成し、 レコードは拒否されます。 そのようなレコードは、ダンプ・ファイルに書き込むことができます (表 7 参照)。
文字区切り文字の外側にある列の DEL データは無視されますが、警告が生成されます。 たとえば、次のようにします。
22,34,"bob" 24,55,"sam" sdf
ユーティリティーは、表の第 3 列に "sam" をロードし、 警告の中で文字 "sdf" にフラグが付けられます。 このレコードは拒否されません。 別の例を考えましょう。
22 3, 34,"bob"
ユーティリティーは 22,34,"bob" をロードし、 列 1 の中で 22 より後のデータは無視されたという警告を生成します。 このレコードは拒否されません。
例 4 (DATALINK データのロード)
下記のコマンドは、 DEL 形式のデータが含まれている入力ファイル delfile1 から、 表 MOVIETABLE をロードします。
db2 load from delfile1 of del modified by dldel| insert into movietable (actorname, description, url_making_of, url_movie) datalink specification (dl_url_default_prefix "http://narang"), (dl_url_replace_prefix "http://bomdel" dl_url_suffix ".mpeg") for exception excptab
注:
actorname VARCHAR(n) description VARCHAR(m) url_making_of DATALINK (with LINKTYPE URL) url_movie DATALINK (with LINKTYPE URL)
例 5 (識別列がある表へのロード)
TABLE1 には以下の 4 つの列があります。
TABLE2 は TABLE1 と同じですが、C2 が GENERATED ALWAYS 識別列である点が異なります。
DATAFILE1 のデータ・レコード (DEL 形式):
"Liszt" "Hummel",,187.43, H "Grieg",100, 66.34, G "Satie",101, 818.23, I
DATAFILE2 のデータ・レコード (DEL 形式):
"Liszt", 74.49, A "Hummel", 0.01, H "Grieg", 66.34, G "Satie", 818.23, I
注:
db2 load from datafile1.del of del replace into table1
db2 load from datafile1.del of del method P(1, 3, 4) replace into table1 (c1, c3, c4) db2load from datafile1.del of del modified by identityignore replace into table1
db2 load from datafile2.del of del replace into table1 (c1, c3, c4) db2 load from datafile2.del of del modified by identitymissing replace into table1
db2 load from datafile1.del of del modified by identityoverride replace into table2この場合、ユーティリティーには、ユーザー提供の値を優先して、 システム生成の識別値に上書きするように指示しているため、 行 1 および 2 は拒否されます。 ユーザー提供の値が存在しない場合でも、 識別列が暗黙的に非ヌルであるため、この行は拒否しなければなりません。
使用上の注意
データは、入力ファイル内に並んでいる順序でロードされます。 特定の順序にしたいなら、ロードの前にデータをソートしておく必要があります。
ロード・ユーティリティーは、既存の定義に基づいて索引を作成します。 固有キーの重複を処理するには、例外表が使用されます。 ユーティリティーは、参照保全を保証したり、制約検査を実行したり、 ロード中の表に依存する要約表を更新したりしません。 表に参照制約や検査制約が含まれている場合、その表は検査保留状態になります。 REFRESH IMMEDIATE として定義されている要約表、 およびロードする表に依存する要約表は、検査保留状態になります。 表の検査保留状態を終了させるには、SET INTEGRITY ステートメントを発行してください。 コピーされた要約表に対してロード操作を実行することはできません。
クラスター化が必要なら、ロード前にクラスター化索引でデータをソートしてください。
DB2 データ・リンク・マネージャーに関する考慮事項
各 DATALINK 列ごとに、それぞれ 1 つの列指定を括弧に入れて指定できます。 各列指定は、1 つまたは複数の DL_LINKTYPE、 接頭部、および DL_URL_SUFFIX 指定で構成されます。 接頭部 情報は、 DL_URL_REPLACE_PREFIX かまたは DL_URL_DEFAULT_PREFIX 指定です。
DATALINK 列指定の数は、表で定義されている DATALINK の数と同じだけ定義できます。 指定の順序は、挿入列リストの中での DATALINK 列の順序 (挿入列リストが INSERT INTO (insert-column, ...) で指定されている場合) か、 または表定義内での順序 (insert-column が指定されていない場合) に従います。
たとえば、表の列が C1、C2、C3、C4、および C5 であり、 その中で C2 と C5 だけが DATALINK タイプであって、 挿入列 (insert-column) リストが (C1, C5, C3, C2) ならば、 DATALINK 列指定は 2 つ必要です。 第 1 の列指定は C5 のためのもの、第 2 の列指定は C2 のためのものです。 挿入列リストが指定されていない場合には、第 1 の列指定は C2 のためのもの、 第 2 の列指定は C5 のためのものとなります。
複数の DATALINK 列があり、いくつかの列には特定の指定が必要ないという場合、 列指定には、指定順序の指定に関するあいまいさをなくすための括弧が少なくとも必要です。 どの列についての指定もないなら、空括弧のリスト全体を除去することができます。 したがって、省略時値でよいのであれば、DATALINK 指定は必ずしも必要ではありません。
FILE LINK CONTROL として定義されている DATALINK 列を含む表にデータをロードする場合は、 以下のステップを実行してから、ロード・ユーティリティーを呼び出してください。 (すべての DATALINK 列が NO LINK CONTROL として定義されている場合は、 これらのステップを実行する必要はありません)。
ロード・ユーティリティーの実行中に、 DB2 とデータ・リンク・サーバーの間の通信に障害が発生することがあります。 そのような場合、ロード操作は失敗します。 その場合には、次のようにしてください。
ロード操作中に失敗したリンクはデータ保全性違反とみなされ、 固有索引違反の場合とほとんど同じ仕方で処理されます。 そのため、1 つ以上の DATALINK 列を含む表をロードする場合の特別な例外が定義されています。 追加情報については、SQL 解説書 の例外の説明を参照してください。
LINKTYPE (現在のところ URL のみサポート) は、DATALINK 情報の一部としては指定されません。 LINKTYPE は、LOAD または IMPORT コマンドの中で指定されます。 PC/IXF タイプの入力ファイルの場合は、 データ移動ユーティリティー 手引きおよび解説書 の中の付録 『Export/Import/Load ユーティリティー・ファイル形式』で説明されているように、 該当する列記述レコードの中で指定されます。
URL LINKTYPE のための DATALINK 情報の構文は、次のとおりです。
>>-+----------+---+------------------------+------------------->< '-urlname--' '-dl_delimiter--comment--'
urlname と comment はいずれも任意選択です。 どちらも省略した場合、ヌル値が代入されます。
注:
注釈を指定しないなら、省略時として注釈は長さ 0 の文字列になります。
次に示すのは、区切り付き ASCII (DEL) ファイル形式の場合の DATALINK データの例です。
これは、次のような部分から構成されています。
これは、次のような部分から構成されています。
これは、次のような部分から構成されています。
次に示すのは、区切りなし ASCII (ASC) ファイル形式の場合の DATALINK データの例です。
これは、次のような部分から構成されています。
これは、次のような部分から構成されています。
これは、次のような部分から構成されています。
以下に、DATALINK データの例を示します。列のロードまたはインポート指定が DL_URL_DEFAULT_PREFIX ("http://qso") であるとしています。
これは、次のような部分から構成されています。
これは、次のような部分から構成されています。
修飾子 | 説明 | ||
---|---|---|---|
すべてのファイル形式 | |||
anyorder | この修飾子は、 cpu_parallelism パラメーターと共に使用されます。 ソース・データ順序を保つことが必要でないことを指定し、 それによって SMP システムでさらにパフォーマンスを高めます。 cpu_parallelism の値が 1 の場合、 このオプションは無視されます。 SAVECOUNT > 0 の場合、このオプションはサポートされません。 一貫性ポイント後の破損回復では、 データが順番にロードされることが必要になるからです。 | ||
fastparse | ユーザー提供の列値に対して簡略化された構文検査が実行され、
パフォーマンスが向上します。
このオプション下でロードされた表は、
アーキテクチャー的に正しいものが保証されています。
また、このユーティリティーが十分なデータ検査を実行して、
セグメント違反またはトラップが発生しないようにすることも保証されています。
正しい形式のデータは、正しくロードされます。
たとえば、ASC ファイルの整数列用のフィールド項目として値 123qwr4 が検出された場合、 値が有効な数値を示していないので、 ロード・ユーティリティーは通常それを構文エラーとします。 fastparse を指定した場合、構文エラーは検出されず、 任意の数値を整数フィールドがロードされます。 この修飾子は、完全なデータだけに使用するように注意する必要があります。 ASCII データにおいてこのオプションを使うと、 かなりパフォーマンスが上がる場合がありますが、 PC/IXF データの場合は fastparse を指定してもそれほどパフォーマンスは上がりません。 IXF はバイナリー・フォーマットであり、 fastparse は解析操作と ASCII から内部形式への変換に影響するからです。 | ||
generatedignore | この修飾子は、ロード・ユーティリティーに、 すべての生成列のデータはデータ・ファイルに存在するが、 それらを無視すべきことを知らせます。 ヌル値可の生成列の場合、これによってその列にヌルがロードされます。 ヌル値不可の生成列の場合、生成列のデータ・タイプに応じた省略時値がロードされます。 ロード操作の終了時に、SET INTEGRITY ステートメントを呼び出して、 ロードした値を、生成列定義に応じて計算した値で置き換えるように強制することができます。 この修飾子は、generatedmissing または generatedoverride 修飾子と共に使用することはできません。 | ||
generatedmissing | この修飾子を指定すると、ユーティリティーは、 入力データ・ファイルには生成列のデータが全く入っていない (ヌルさえない) とみなし、 その列にヌルをロードします。 ロード操作の終了時に、SET INTEGRITY ステートメントを使用して、 ヌルを、生成列定義に応じて計算した値で置き換えることができます。 この修飾子は、generatedignore または generatedoverride 修飾子と共に使用することはできません。 | ||
generatedoverride | この修飾子は、(こうした列のタイプの通常の規則に反して) 表内のすべての生成列で、
ヌル以外の明示的データを受け入れるようにロード・ユーティリティーに指示します。
これは、他のデータベース・システムからデータを移行する場合や、
DROPPED TABLE RECOVERY オプションを指定した ROLLFORWARD DATABASE コマンドを使用して復元したデータから表をロードする場合に役立ちます。
この修飾子を使用すると、
データが入っていない行やヌル不可の生成列に対するヌルデータはすべて拒否されます (SQL3116W)。
この修飾子は、generatedmissing または generatedignore 修飾子と共に使用することはできません。 | ||
identityignore | この修飾子は、ロード・ユーティリティーに、 識別列のデータはデータ・ファイルに存在するが、 それらを無視すべきことを知らせます。 この結果として、すべて識別値はこのユーティリティーによって生成されます。 この動作は、GENERATED ALWAYS および GENERATED BY DEFAULT 識別列のどちらの場合も同じです。 つまり、GENERATED ALWAYS 列の場合、拒否される行はないという意味です。 この修飾子は、identitymissing または identityoverride 修飾子と共に使用することはできません。 | ||
identitymissing | この修飾子を指定すると、ユーティリティーは、入力データ・ファイルには識別列のデータが (NULL さえも) なく、 したがって各行の値が生成されると想定します。 この動作は、 GENERATED ALWAYS および GENERATED BY DEFAULT 識別列のどちらの場合も同じです。 この修飾子は、 identityignore または identityoverride 修飾子と共に使用することはできません。 | ||
identityoverride | この修飾子は、GENERATED ALWAYS として定義した識別列が、
ロードする表に存在している場合にのみ使用するべきです。
この修飾子は、(識別列のそれらのタイプの通常の規則に反して) そうした列で、
ヌル以外の明示的データを受け入れるようにユーティリティーに指示します。
これは、表を GENERATED ALWAYS と定義することが必要なときに他のデータベース・システムからデータを移行する場合や、
DROPPED TABLE RECOVERY オプションを指定した ROLLFORWARD DATABASE コマンドを使用して復元したデータから表をロードする場合に役立ちます。
この修飾子を使用すると、
データが入っていない行や識別列に対するヌルデータはすべて拒否されます (SQL3116W)。
この修飾子は、identitymissing または identityignore 修飾子と共に使用することはできません。
| ||
indexfreespace=x | x は 0〜99 の整数です。
その値は、
各索引ページの中で索引ロード時の空きスペースとして残しておく部分の割合を示すパーセントとして解釈されます。
ページの最初の項目は、制限なしで追加されます。
それより後の項目は、空きスペースのパーセントしきい値内である場合に追加されます。
省略時値は、CREATE INDEX time で使用されている値です。
この値は、CREATE INDEX ステートメントに指定された PCTFREE 値よりも優先して使用され、 索引の葉ページだけが対象です。 | ||
lobsinfile | lob-path には、LOB 値を含むファイルへのパスを指定します。 ASC、DEL、または IXF ロード入力ファイルには、 LOB 列に LOB データを含むファイルの名前が入っています。 | ||
noheader | ヘッダー検査コードをスキップします (単一ノードのノードグループに存在する表へのロード操作にのみ適用します)。
オートローダー・ユーティリティー (データ移動ユーティリティー 手引きおよび解説書 の中の『AutoLoader』を参照) は、 マルチノードのノード・グループで表のデータの提供元となるファイルごとにヘッダーを書き込みます。 そのヘッダーには、ノード番号、区分化マップ、および区分化キー指定が含まれています。 ロード・ユーティリティーでは、 データが正しいノードでロードされていることを確認するためにこの情報が必要になります。 単一ノードのノード・グループに存在する表にファイルをロードしている場合、 このオプションを指定するとロード・ユーティリティーはヘッダーの検査コードをスキップします。 | ||
norowwarnings | 拒否された行についての警告をすべて抑制します。 | ||
pagefreespace=x | x は 0〜100 の整数です。
その値は、
各データ・ページの中で空きスペースとして残しておく部分の割合を示すパーセントとして解釈されます。
指定された値が最小行サイズという点で無効な場合 (たとえばある行に 3 000 バイト以上の長さがあり、 x 値は 50 の場合)、その行は新しいページに入れられます。 値 100 が指定された場合には、各行ごとにそれぞれ新しいページに入れられます。
| ||
totalfreespace=x | x は 0〜100 の整数です。 その値は、 表示の合計ページの中で空きスペースとして表示の最後に付加する部分の割合を示すパーセントとして解釈されます。 たとえば、x が 20 で、 表の中に 100 個のデータ・ページがある場合、20 個のヌル・ページが追加されます。 その表のデータ・ページの合計数は 120 になります。 | ||
usedefaults | ターゲット表の列に対応するソース列を指定していても、
1 つまたは複数の行インスタンスにデータが入っていない場合、
省略時値がロードされます。
欠落データの例は次のとおりです。
| ||
ASCII ファイル形式 (ASC/DEL) | |||
codepage=x | x は ASCII 文字ストリングです。
その値は、入力データ・セット中のデータのコード・ページとして解釈されます。
ロード操作時に、このコード・ページからデータベースのコード・ページへ文字データ
(および文字によって指定される数値データ) を変換します。
以下の規則が適用されます。
| ||
dateformat="x" | x は、ソース・ファイルの日付の形式です。a
有効な日付要素は次のとおりです。
YYYY - 年 (0000〜9999 の範囲の 4 桁の数字) M - 月 (1〜12 の範囲の 1 桁または 2 桁の数) MM - 月 (1〜12 の範囲の 2 桁の数; M と同時には使用できない) D - 日 (1〜31 の範囲の 1 桁または 2 桁の数) DD - 日 (1〜31 の範囲の 2 桁の数; D と同時には使用できない) DDD - Day of the year (three digits ranging from 001 - 366; mutually exclusive with other day or month elements)
省略時値の 1 が、指定されない各要素に割り当てられます。 日付形式のいくつかの例を以下に示します。 "D-M-YYYY" "MM.DD.YYYY" "YYYYDDD" | ||
dumpfile = x | x は、
拒否された行を書き込む例外ファイルの (サーバー・ノードによる) 完全修飾名です。
1 レコードにつき、最大で 32KB のデータが書き込まれます。
ダンプ・ファイルの指定方法の例を下記に示します。
db2 load from data of del modified by dumpfile = /u/user/filename insert into table_name
注:
| ||
implieddecimal | 暗黙の 10 進小数点の位置は、列定義によって指定されます。 その位置が値の最後にあると想定されることはありません。 たとえば、値 12345 が DECIMAL(8,2) 列にロードされる場合、 123.45 としてであり、 12345.00 ではありません。 | ||
timeformat="x" | x は、ソース・ファイルの時刻の形式です。a
有効な時刻要素は次のとおりです。
H - Hour (one or two digits ranging from 0 - 12 for a 12 hour system, and 0 - 24 for a 24 hour system) HH - Hour (two digits ranging from 0 - 12 for a 12 hour system, and 0 - 24 for a 24 hour system; mutually exclusive with H) M - 分 (0〜59 の範囲の 1 桁または 2 桁の数) MM - 分 (0〜59 の範囲の 2 桁の数; M と同時には使用できない) S - 秒 (0〜59 の範囲の 1 桁または 2 桁の数) SS - 秒 (0〜59 の範囲の 2 桁の数; S と同時には使用できない) SSSSS - Second of the day after midnight (5 digits ranging from 00000 - 86399; mutually exclusive with other time elements) TT - 午前午後の標識 (AM または PM)
省略時値の 0 が、指定されない各要素に割り当てられます。 時刻形式のいくつかの例を以下に示します。 "HH:MM:SS" "HH.MM TT" "SSSSS" | ||
timestampformat="x" | x は、ソース・ファイルのタイム・スタンプの形式です。a
有効なタイム・スタンプ要素は次のとおりです。
YYYY - 年 (0000〜9999 の範囲の 4 桁の数字) M - 月 (1〜12 の範囲の 1 桁または 2 桁の数) MM - 月 (1〜12 の範囲の 2 桁の数; M (月) と同時には使用できない) D - 日 (1〜31 の範囲の 1 桁または 2 桁の数) DD - 日 (1〜31 の範囲の 2 桁の数; D と同時には使用できない) DDD - Day of the year (three digits ranging from 001 - 366; mutually exclusive with other day or month elements) H - Hour (one or two digits ranging from 0 - 12 for a 12 hour system, and 0 - 24 for a 24 hour system) HH - Hour (two digits ranging from 0 - 12 for a 12 hour system, and 0 - 24 for a 24 hour system; mutually exclusive with H) M - 分 (0〜59 の範囲の 1 桁または 2 桁の数) MM - 分 (0〜59 の範囲の 2 桁の数; M (分) と同時には使用できない) S - 秒 (0〜59 の範囲の 1 桁または 2 桁の数) SS - 秒 (0〜59 の範囲の 2 桁の数; S と同時には使用できない) SSSSS - Second of the day after midnight (5 digits ranging from 00000 - 86399; mutually exclusive with other time elements) UUUUUU - マイクロ秒 (000000 - 999999 の範囲の 6 桁 の数) TT - 午前午後の標識 (AM または PM)
YYYY、M、MM、D、DD、または DDD が指定されていない場合、 省略時値として 1 が割り当てられます。 他の要素が指定されていない場合には、 省略時値として 0 が割り当てられます。 以下に、タイム・スタンプ形式の例を示します。 "YYYY/MM/DD HH:MM:SS.UUUUUU"
次の例では、ユーザー定義の日時形式を含むデータを、schedule という表にインポートする方法を示します。 db2 import from delfile2 of del modified by timestampformat="yyyy.mm.dd hh:mm tt" insert into schedule | ||
noeofchar | オプションのファイル終了文字 x'1A' は、 ファイル終了として識別されません。 それが普通の文字であるかのようにして処理は継続されます。 | ||
ASC (区切りなし ASCII) ファイル形式 | |||
binarynumerics | 数値データ (DECIMAL 以外) は、バイナリー形式でなければならず、
文字表示であってはなりません。
これによって、コストの大きい変換操作を避けることができます。
このオプションがサポートされるのは、定位置 ASC において、 reclen オプションによって固定長レコードが指定されている場合だけです。 noeofchar オプションが前提です。
以下の規則が適用されます。
| ||
nochecklengths | nochecklengths を指定した場合は、 ソース・データの中にターゲット表列のサイズを超える列定義が含まれている場合であっても、 各行のロードが試みられます。 コード・ページ変換によってソース・データが縮小されれば、 そのような行であったとしても正常にロードすることができます。 たとえば、ソースに 4 バイトの EUC データがある場合、 それがターゲットで 2 バイトの DBCS データに縮小されれば、必要なスペースは半分で済みます。 列定義が一致しなくてもソース・データがきちんと収まることが明らかな場合に、 このオプションは特に便利です。 | ||
nullindchar=x | x は単一文字です。
ヌル値を示す文字を x に変更します。
x の省略時値は Y です。b
EBCDIC データ・ファイルの場合、この修飾子は大文字小文字を区別しますが、 英字の場合は区別しません。 たとえば、ヌル標識文字を文字 N に指定した場合、 n もヌル標識として認識されます。 | ||
packeddecimal | binarynumerics 修飾子には DECIMAL フィールド・タイプが含まれないので、
パック 10 進データを直接ロードします。
このオプションがサポートされるのは、定位置 ASC において、 reclen オプションによって固定長レコードが指定されている場合だけです。 noeofchar オプションが前提です。
ニブル符号用にサポートされる値は以下のとおりです。 + = 0xC 0xA 0xE 0xF - = 0xD 0xB
| ||
reclen=x | x は、32 767 以下の整数です。 1 行につき x 文字ずつ読まれます。 改行文字は行の終了にはなりません。 | ||
striptblanks | 可変長フィールドにデータをインポートする場合に、後書きブランクをすべて切り捨てます。
このオプションを指定しない場合、ブランク・スペースはそのまま保持されます。
このオプションは、striptnulls と一緒には指定できません。 それらは相互に排他的なオプションです。
| ||
striptnulls | 可変長フィールドにデータをインポートする場合に、
後書きヌル値 (0x00 文字) をすべて切り捨てます。
このオプションを指定しない場合、ヌル値はそのまま保持されます。
このオプションは、striptblanks と一緒には指定できません。 それらは相互に排他的なオプションです。
| ||
zoneddecimal | BINARYNUMERICS 修飾子には DECIMAL フィールド・タイプが含まれないので、
ゾーン 10 進データをロードします。
このオプションがサポートされるのは、定位置 ASC において、
RECLEN オプションによって固定長レコードが指定されている場合だけです。
NOEOFCHAR オプションが前提です。
ハーフバイト符号値は、以下のいずれかになります。 + = 0xC 0xA 0xE 0xF - = 0xD 0xB
サポートされている数値は、0x0 〜 0x9 です。
サポートされているゾーン値は、0x3 と 0xF です。 | ||
DEL (区切り付き ASCII) ファイル形式 | |||
chardelx | x は単一文字ストリング区切り文字です。
省略時値は二重引用符 (") です。
指定した文字は、文字ストリングを囲むために、二重引用符の代わりに使用されます。bc
単一引用符 (') も次のように文字ストリング区切り文字として指定できます。 modified by chardel'' | ||
coldelx | x は単一文字列区切り文字です。 省略時値はコンマ (,) です。 指定した文字は、列の終わりを表すために、 コンマの代わりに使用されます。bc | ||
datesiso | 日付形式。 すべての日付データ値を ISO 形式でロードします。 | ||
decplusblank | 正符号文字。 これによって正の 10 進値の先頭に正符号 (+) ではなく、ブランク・スペースが置かれます。 省略時のアクションでは、正の 10 進数の前に正符号 (+) が付けられます。 | ||
decptx | x は、小数点としてピリオドと置換される単一文字です。 省略時値はピリオド (.) です。 指定した文字は、小数点文字としてピリオドの代わりに使用されます。bc | ||
delprioritychar | 区切り文字の現在の省略時優先順位は、
(1) レコード区切り文字、(2) 文字区切り文字、(3) 列区切り文字です。
この修飾子を使用すると、区切り文字の優先順位が
(1) 文字区切り文字、(2) レコード区切り文字、(3) 列区切り文字に戻り、
以前の優先順位に依存している既存のアプリケーションが保護されます。
構文は次のとおりです。
db2 load ... modified by delprioritychar ...
たとえば、次のような DEL データ・ファイルがあるとします。 "Smith, Joshua",4000,34.98<row delimiter> "Vincent,<row delimiter>, is a manager", ... ... 4005,44.37<row delimiter>
delprioritychar 修飾子を指定すれば、このデータ・ファイルは 2 行だけになります。 2 番目の <row delimiter> は 2 番目の行の最初のデータ列の一部として解釈されるのに対し、 1 番目と 3 番目の <row delimiter> は実際のレコード区切り文字として解釈されます。 この修飾子を指定しなかった場合は、 このデータ・ファイルは 3 行のままで、各行は <row delimiter> によって区切られます。 | ||
dldelx | x は単一文字の DATALINK 区切り文字です。
省略時値はセミコロン (;) です。
指定した文字はセミコロンの代わりに、DATALINK 値のフィールド間区切り文字として使用されます。
DATALINK 値には副値が複数個含まれる場合があるため、これが必要になります。bcd
| ||
keepblanks | タイプが CHAR、VARCHAR、LONG VARCHAR、または CLOB である各フィールドの前後のブランクを保存します。
このオプションを指定しないと、文字区切り文字で囲まれていないすべての前後のブランクは除去され、
表のすべてのブランク・フィールドにヌルが挿入されます。
以下の例では、データ・ファイルにある前後のブランクを保存しながら、 TABLE1 という表にデータをロードする方法を示します。 db2 load from delfile3 of del modified by keepblanks insert into table1 | ||
nodoubledel | 二重文字区切り文字の認識を抑止します。 詳細については、区切り文字の制限を参照してください。 | ||
IXF ファイル形式 | |||
forcein | コード・ページが一致していなくてもデータを受け入れ、
コード・ページの変換を抑制するようにユーティリティーに指示します。
固定長ターゲット・フィールドは、 データを入れるだけの十分な大きさがあるかどうかが検査されます。 nochecklengths を指定した場合、 そのような検査は実行されず、各行のロードが試みられます。 | ||
nochecklengths | nochecklengths を指定した場合は、 ソース・データの中にターゲット表列のサイズを超える列定義が含まれている場合であっても、 各行のロードが試みられます。 コード・ページ変換によってソース・データが縮小されれば、 そのような行であったとしても正常にロードすることができます。 たとえば、ソースに 4 バイトの EUC データがある場合、 それがターゲットで 2 バイトの DBCS データに縮小されれば、必要なスペースは半分で済みます。 列定義が一致しなくてもソース・データがきちんと収まることが明らかな場合に、 このオプションは特に便利です。 | ||
注:
|
以下も参照