DB2 Version 10.1 for Linux, UNIX, and Windows

IMPORT コマンド

外部ファイルのデータを、サポートされているファイル・フォーマットで表、階層、ビュー、またはニックネームに挿入します。 LOAD はより高速な代替方法です。しかしロード・ユーティリティーでは、階層レベルのデータのロードはサポートされていません。

インポート・ユーティリティー用のファイル・タイプ修飾子へのクイック・リンク。

許可

必要な接続

データベース。 暗黙接続が可能な場合には、デフォルト・データベースへの接続が確立されます。 Linux、UNIX、または Windows クライアントから Linux、UNIX、または Windows データベース・サーバーへのユーティリティー・アクセスは、DB2 Connect™ ゲートウェイまたはループバック環境を経由してではなく、エンジンを使用した直接接続でなければなりません。

コマンド構文

構文図を読む構文図をスキップする
>>-IMPORT FROM--filename--OF--filetype-------------------------->

>--+-------------------------+--+------------------------+------>
   |            .-,--------. |  |           .-,--------. |   
   |            V          | |  |           V          | |   
   '-LOBS FROM----lob-path-+-'  '-XML FROM----xml-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-+--)--------------------------------------------------------------'     

>--+------------------------------------+----------------------->
   '-XMLPARSE--+-STRIP----+--WHITESPACE-'   
               '-PRESERVE-'                 

>--+--------------------------------------------------------------------------------------+-->
   '-XMLVALIDATE USING--+-XDS--+-----------------------+--| Ignore and Map parameters |-+-'   
                        |      '-DEFAULT--schema-sqlid-'                                |     
                        +-SCHEMA--schema-sqlid------------------------------------------+     
                        '-SCHEMALOCATION HINTS------------------------------------------'     

   .-ALLOW NO ACCESS----.                                   
>--+--------------------+--+----------------------------+------->
   '-ALLOW WRITE ACCESS-'  '-COMMITCOUNT--+-n---------+-'   
                                          '-AUTOMATIC-'     

>--+---------------------+--+-------------+--------------------->
   '-+-RESTARTCOUNT-+--n-'  '-ROWCOUNT--n-'   
     '-SKIPCOUNT----'                         

>--+-----------------+--+-----------+--------------------------->
   '-WARNINGCOUNT--n-'  '-NOTIMEOUT-'   

>--+------------------------+----------------------------------->
   '-MESSAGES--message-file-'   

>--+-+-INSERT---------+--INTO--+-table-name--+-------------------------+-+----------------------+-><
   | +-INSERT_UPDATE--+        |             |    .-,-------------.    | |                      |   
   | +-REPLACE--------+        |             |    V               |    | |                      |   
   | '-REPLACE_CREATE-'        |             '-(----insert-column-+--)-' |                      |   
   |                           '-| hierarchy description |---------------'                      |   
   '-CREATE--INTO--+-table-name--+-------------------------+--------------+--| tblspace-specs |-'   
                   |             |    .-,-------------.    |              |                         
                   |             |    V               |    |              |                         
                   |             '-(----insert-column-+--)-'              |                         
                   '-| hierarchy description |--+-AS ROOT TABLE---------+-'                         
                                                '-UNDER--sub-table-name-'                           

Ignore and Map parameters

|--+--------------------------------+--------------------------->
   |            .-,------------.    |   
   |            V              |    |   
   '-IGNORE--(----schema-sqlid-+--)-'   

>--+----------------------------------------------------+-------|
   |         .-,-----------------------------------.    |   
   |         V                                     |    |   
   '-MAP--(----(--schema-sqlid--,--schema-sqlid--)-+--)-'   

hierarchy description

   .-ALL TABLES---------.           
|--+-| sub-table-list |-+--+----+------------------------------->
                           '-IN-'   

>--HIERARCHY--+-STARTING--sub-table-name-+----------------------|
              '-| traversal-order-list |-'   

sub-table-list

      .-,-------------------------------------------.      
      V                                             |      
|--(----sub-table-name--+-------------------------+-+--)--------|
                        |    .-,-------------.    |        
                        |    V               |    |        
                        '-(----insert-column-+--)-'        

traversal-order-list

      .-,--------------.      
      V                |      
|--(----sub-table-name-+--)-------------------------------------|

tblspace-specs

|--+----------------------------------------------------------------------------------+--|
   '-IN--tablespace-name--+---------------------------+--+--------------------------+-'   
                          '-INDEX IN--tablespace-name-'  '-LONG IN--tablespace-name-'     

コマンド・パラメーター

FROM filename
インポートするデータの入ったファイルを指定します。 パスを省略すると、現行作業ディレクトリーが使用されます。
OF filetype
入力ファイル内のデータのフォーマットを指定します。
  • ASC (区切りなし ASCII フォーマット)
  • DEL (区切り文字付き ASCII フォーマット)。 さまざまなデータベース・マネージャーやファイル・マネージャー・プログラムで使用します。
  • IXF (統合交換フォーマット、PC バージョン) は、DB2® によって排他的に使用されるバイナリー・フォーマットです。
LOBS FROM lob-path
LOB ファイルを保管する 1 つ以上のパスを指定します。 LOB データ・ファイルの名前は、 メイン・データ・ファイル (ASC、DEL、または IXF) の、LOB 列にロードされる列内に保管されます。 指定できるパスの最大数は 999 です。 これによって、LOBSINFILE 動作が暗黙的にアクティブ化されます。

ニックネームにインポートするときには、このパラメーターは無効です。

XML FROM xml-path
XML ファイルが含まれているパスを 1 つ以上指定します。
MODIFIED BY filetype-mod
ファイル・タイプ修飾子オプションを指定します。 インポート・ユーティリティー用のファイル・タイプ修飾子を参照してください。
METHOD
L
データのインポートを開始する列および終了する列の番号を指定します。 列の番号は、データの行の先頭からのバイト単位のオフセットです。 この番号は 1 から始まります。
注: このメソッドは、ASC ファイルの場合にのみ使用することができ、そのファイル・タイプに対してのみ有効なオプションです。
N
インポートするデータ・ファイルの中の列の名前を指定します。 これらの列名の大文字小文字の区別は、 システム・カタログ内の対応する名前の大文字小文字の区別と一致しなければなりません。 NULL 可能ではない各表の列には、METHOD N リスト内に対応する項目が必要です。 例えば、データ・フィールドが F1、 F2、 F3、 F4、 F5、 および F6 であり、 表の列が C1 INT、C2 INT NOT NULL、C3 INT NOT NULL、および C4 INT の場合、 method N (F2, F1, F4, F3) は有効な要求ですが、 method N (F2, F1) は無効です。
注: この方式は、IXF ファイルの場合にのみ使用することができます。
P
インポートする入力データ・フィールドのフィールド番号 (1 から始まる) を指定します。NULL 可能ではない各表の列には、METHOD P リスト内に対応する項目が必要です。 例えば、データ・フィールドが F1、 F2、 F3、 F4、 F5、 および F6 であり、 表の列が C1 INT、C2 INT NOT NULL、C3 INT NOT NULL、および C4 INT の場合、 method P (2, 1, 4, 3) は有効な要求ですが、 method P (2, 1) は無効です。 この方式を使用できるのは、ファイル・タイプ IXF または DEL の場合のみです。また、DEL ファイル・タイプに対しては、これが唯一有効な方式です。
method P によって指定したフィールドごとに、 対応する列をアクション・ステートメント内に定義する必要があります。ただし、次の例に示すようにすべての列が対象になる場合、および最初の x 列がロードされる場合は必要ありません。
  db2 load from datafile1.del of del method P(1, 3, 4)
      replace into table1 (c1, c3, c4)
NULL INDICATORS null-indicator-list
このオプションは、METHOD L パラメーターを指定した場合にのみ使用できます。つまり、入力ファイルが ASC ファイルの場合です。 NULL 標識リストは、コンマで区切られた正の整数のリストで、 各 NULL 標識フィールドの列の番号を指定します。 列の番号は、データの行の先頭からのバイト単位の、各 NULL 標識フィールドのオフセットです。 NULL 標識リストには、METHOD L パラメーターで定義された各データ・フィールドに対する 1 つの項目がなければなりません。 列の番号がゼロであることは、 対応するデータ・フィールド内に必ずデータがあることを示します。

NULL 標識列中の Y の値は、その列データが NULL であることを指定します。 NULL 標識列に Y 以外 の文字を指定した場合は、列データが NULL ではなく、METHOD L オプションで指定された列データがインポートされることを指定することになります。

nullindchar ファイル・タイプ修飾子を指定した MODIFIED BY オプションを使用すれば、NULL 標識文字を変更することができます。

XMLPARSE
XML 文書の解析方法を指定します。 このオプションが指定されていない場合、XML 文書の解析の動作は、CURRENT IMPLICIT XMLPARSE OPTION 特殊レジスターの値によって決まります。
STRIP WHITESPACE
XML 文書の解析時に空白文字を除去することを指定します。
PRESERVE WHITESPACE
XML 文書の解析時に空白文字を除去しないことを指定します。
XMLVALIDATE
該当する場合に、XML 文書がスキーマに準拠しているかどうかの妥当性検査を実行することを指定します。
USING XDS
メイン・データ・ファイルの中で XML Data Specifier (XDS) によって指定されている XML スキーマに準拠しているかどうかについて、XML 文書の妥当性検査が実行されます。 デフォルトでは、USING XDS 節によって XMLVALIDATE オプションが呼び出された場合、妥当性検査実行のために使用されるスキーマは、その XDS の SCH 属性によって決まります。 XDS の中で SCH 属性が指定されていない場合、DEFAULT 節によってデフォルト・スキーマが指定されているのでない限り、スキーマ妥当性検査は実行されません。

DEFAULTIGNORE、および MAP 節を使用することにより、スキーマ決定の動作を変更することができます。 これら 3 つの節はオプションであり、相互に適用されるのではなく XDS の指定に直接適用されます。 例えば、DEFAULT 節で指定されているためにあるスキーマが選択された場合、それが IGNORE 節で指定されていたとしても無視されることはありません。 同じように、MAP 節のペアの最初の部分で指定されているためにあるスキーマが選択された場合、それが別の MAP 節のペアの 2 番目の部分で指定されていたとしても再びマップされることはありません。

USING SCHEMA schema-sqlid
指定されている SQL ID の XML スキーマに準拠しているかどうかについて、XML 文書の妥当性検査が実行されます。 この場合、すべての XML 列について XML Data Specifier (XDS) の SCH 属性は無視されます。
USING SCHEMALOCATION HINTS
ソース XML 文書の中で XML スキーマ・ロケーション・ヒントによって指定されているスキーマに準拠しているかどうかについて、XML 文書の妥当性検査が実行されます。 その XML 文書の中に schemaLocation 属性が指定されていない場合、妥当性検査は実行されません。USING SCHEMALOCATION HINTS 節が指定されているなら、すべての XML 列について XML Data Specifier (XDS) の SCH 属性は無視されます。
以下のセクションに示す XMLVALIDATE オプションの例を参照してください。
DEFAULT schema-sqlid
このオプションは、USING XDS パラメーターを指定した場合にのみ使用できます。DEFAULT 節で指定されたスキーマは、インポート対象 XML 文書の XML Data Specifier (XDS) に XML スキーマを指定する SCH 属性が含まれていない場合に、妥当性検査のために使用するスキーマとなります。

DEFAULT 節は、IGNORE 節および MAP 節よりも優先されます。 XDS が DEFAULT 節を満たすなら、IGNOREMAP の指定は無視されます。

IGNORE schema-sqlid
このオプションは、USING XDS パラメーターを指定した場合にのみ使用できます。IGNORE 節は、SCH 属性によって指定されていても無視するスキーマとして、1 つ以上のスキーマのリストを指定します。インポートする XML 文書の XML Data Specifier の中に SCH 属性が存在し、その SCH 属性によって指定されるスキーマが無視するスキーマ・リストに含まれている場合には、インポートするその XML 文書についてスキーマ妥当性検査は実行されません。

あるスキーマが IGNORE 節の中で指定されている場合、MAP 節のスキーマ・ペアの左辺にそれを含めることはできません。

IGNORE 節は XDS にのみ適用されます。 あるスキーマが IGNORE 節によって指定されていても、それが MAP 節によってマップされているなら、それ以降そのスキーマが無視されることはありません。

MAP schema-sqlid
このオプションは、USING XDS パラメーターを指定した場合にのみ使用できます。MAP 節は、インポートする各 XML 文書について XML Data Specifier (XDS) の SCH 属性によって指定されるスキーマの代わりに使用する代替スキーマを指定するのに使用します。MAP 節には、それぞれがあるスキーマから別のスキーマへのマッピングを表すスキーマ・ペアを 1 つ以上列挙したリストを指定します。 ペア中の最初のスキーマは、XDS 内の SCH 属性によって参照されるスキーマを表します。 ペア中の 2 番目のスキーマは、スキーマ妥当性検査の実行で使用する必要のあるスキーマを表します。

あるスキーマが MAP 節のスキーマ・ペアの左辺で指定されている場合、IGNORE 節でさらにそれを指定することはできません。

スキーマ・ペアのマッピングが適用されたなら、その結果は最終的なものです。 マッピング操作は推移的ではないため、選択されたスキーマが、それ以降に別のスキーマ・ペアのマッピングに適用されることはありません。

スキーマを複数回マップすることはできません。 つまり、複数のペアの左辺に指定することはできません。

ALLOW NO ACCESS
オフライン・モードでインポートを実行します。 行の挿入の前には常に、ターゲット表に排他 (X) ロックがかけられます。 これで、同時アプリケーションは表データにアクセスできなくなります。 これがデフォルトのインポート動作です。
ALLOW WRITE ACCESS
オンライン・モードでインポートを実行します。 最初の行の挿入時には、ターゲット表に意図的排他 (IX) ロックがかけられます。 これで、表データへの同時の読み取りおよび書き出しアクセスが可能になります。 オンライン・モードには、REPLACECREATE、または REPLACE_CREATE インポート・オプションとの互換性はありません。オンライン・モードとバッファー挿入との連携はサポートされません。 インポート操作によって挿入後のデータが定期的にコミットされるので、 表ロックへのロック・エスカレーションが削減され、アクティブなログ・スペースが使い果たされることはなくなります。 このようなコミットは、COMMITCOUNT オプションを使わなくても実行されます。 各コミットごとに、インポートでは IX 表ロックが外されるので、 コミットの完了後に再びロックの設定が試みられます。 ニックネームにインポートするときにはこのパラメーターが必要で、有効な数値を使って COMMITCOUNT を指定する必要があります (AUTOMATIC は有効なオプションとは見なされません)。
COMMITCOUNT n | AUTOMATIC
n 個のレコードがインポートされるたびに COMMIT を実行します。 数 n を指定すると、 インポートでは n 個のレコードのインポートの後にそのつど COMMIT が実行されます。 コンパウンド挿入を使用した場合、ユーザー指定のコミット頻度 n は、 そのコンパウンド・カウント値に最も近い整数の倍数に切り上げられます。 AUTOMATIC を指定すると、コミットの必要時期はインポート操作で内部的に判別されます。 次の 2 つのうちのいずれかの理由で、このユーティリティーはコミットを行います。
  • アクティブ・ログ・スペースを使いきらないようにするため。
  • ロックが行レベルから表レベルにエスカレーションしないようにするため。
ALLOW WRITE ACCESS オプションを指定した場合に COMMITCOUNT オプションを指定しないと、インポート・ユーティリティーは、COMMITCOUNT AUTOMATIC が指定されたものとしてコミットを実行します。
アクティブ・ログ・スペースを使いきらないようにする点でのインポート操作の能力は、以下のように DB2 レジストリー変数 DB2_FORCE_APP_ON_MAX_LOG の影響を受けます。
  • DB2_FORCE_APP_ON_MAX_LOGFALSE にして、COMMITCOUNT AUTOMATIC コマンド・オプションを指定した場合、インポート・ユーティリティーは自動的にアクティブ・ログ・スペースを使い切らないようにすることができます。
  • DB2_FORCE_APP_ON_MAX_LOGFALSE にして、COMMITCOUNT n コマンド・オプションを指定した場合、インポート・ユーティリティーはレコードを挿入または更新しようとして SQL0964C (トランザクション・ログがフル) を検出したら、ログ・フル状態が解決しようとします。 無条件のコミットを実行してから、レコードの挿入または更新を再試行します。 これで問題が解決しない場合 (ログ・フルがデータベース上の他のアクティビティーに起因する場合など)、予期されるように IMPORT コマンドは失敗しますが、コミットされる行数は COMMITCOUNT n 値の倍数にならないことがあります。 インポート操作を再試行する際に既にコミットされた行を処理しないようにするには、 RESTARTCOUNT または SKIPCOUNT コマンド・パラメーターを使用します。
  • DB2_FORCE_APP_ON_MAX_LOGTRUE (これがデフォルトです) の場合、レコードの挿入または更新中に SQL0964C を検出すると、インポート操作は失敗します。 これは、COMMITCOUNT AUTOMATICCOMMITCOUNT n のどちらを指定したかに関係なく発生します。

    アプリケーションは強制的にデータベースから切断され、現在の作業単位はロールバックされます。 インポート操作を再試行する際に既にコミットされた行を処理しないようにするには、 RESTARTCOUNT または SKIPCOUNT コマンド・パラメーターを使用します。

RESTARTCOUNT n
n + 1 の位置のレコードからインポート操作を開始するよう指定します。 最初の n 個のレコードはスキップされます。 このオプションは機能的には SKIPCOUNT と同等です。RESTARTCOUNTSKIPCOUNT は相互に排他的です。
SKIPCOUNT n
n + 1 の位置のレコードからインポート操作を開始するよう指定します。 最初の n 個のレコードはスキップされます。 このオプションは機能的には RESTARTCOUNT と同等です。 SKIPCOUNTRESTARTCOUNT は相互に排他的です。
ROWCOUNT n
インポート (挿入または更新) するファイル内の物理レコードの数 n を指定します。 ユーザーは、SKIPCOUNT または RESTARTCOUNT オプションで指示されたレコードから始めて、ファイルの n 行だけをインポートすることができます。SKIPCOUNT または RESTARTCOUNT オプションの指定がないと、最初の n 行がインポートされます。SKIPCOUNT m または RESTARTCOUNT m を指定すると、行 m+1 から m+n がインポートされます。コンパウンド挿入を使用した場合、ユーザー指定の ROWCOUNT n は、そのコンパウンド・カウント値に最も近い整数の倍数に切り上げられます。
WARNINGCOUNT n
n 個の警告後に、インポート操作を停止します。 このパラメーターは、警告は予期されないが、 正しいファイルと表が使用されていることを確認するのが望ましい場合に設定してください。 インポート・ファイルまたはターゲット表が不適切に指定されると、 インポート対象の各行ごとにインポート・ユーティリティーによって警告が生成され、 このためにインポートが失敗する可能性があります。 n をゼロにした場合や、このオプションを指定しない場合、 発行された警告の回数に関係なくインポート操作は続行します。
NOTIMEOUT
インポート・ユーティリティーがロックの待機中にタイムアウトしないことを指定します。 このオプションのほうが、 locktimeout データベース構成パラメーターより優先されます。 他のアプリケーションは影響を受けません。
MESSAGES message-file
インポート操作中に生じ得る警告およびエラー・メッセージの宛先を指定します。 宛先ファイルが既に存在している場合、インポート・ユーティリティーは情報を追加します。 このファイルへの完全パスが指定されていない場合、 このユーティリティーは現行のディレクトリーおよびデフォルトのドライブを宛先として使用します。 message-file を省略すると、メッセージは標準出力に書き込まれます。
INSERT
既存の表データを変更することなく、インポートされたデータを表に追加します。
INSERT_UPDATE
インポートしたデータ行をターゲット表に追加するか、または主キーが一致するものがあればターゲット表の既存行を更新します。
REPLACE
データ・オブジェクトを切り捨てることによって表内の既存のデータすべてを削除してから、 インポートしたデータを挿入します。 表定義および索引定義は変更されません。 表がない場合は、このオプションを使用できません。 階層間でデータを移動する際にこのオプションを使用する場合は、 階層全体に関係したデータだけが置き換えられます。副表は置き換えられません。

ニックネームにインポートするときには、このパラメーターは無効です。

このオプションでは、CREATE TABLE ステートメントの NOT LOGGED INITIALLY (NLI) 節、あるいは ALTER TABLE ステートメントの ACTIVE NOT LOGGED INITIALLY 節は考慮されません。

このオプションは、システム期間テンポラル表へのデータのインポートには使用できません。

NLI 節が呼び出される CREATE TABLE または ALTER TABLE ステートメントと同じトランザクションの中で、REPLACE オプションの指定されたインポートが実行された場合、インポートにおいてその NLI 節は考慮されません。すべての挿入操作がログ対象となります。

予備手段 1
DELETE ステートメントを使用して表の内容を削除した後、INSERT ステートメントによりインポートを呼び出す
予備手段 2
表をドロップしてからそれを再作成した後、INSERT ステートメントによってインポートを呼び出す

この制限は、DB2 Universal Database™ バージョン 7 および DB2 バージョン 8 に適用されます。

REPLACE_CREATE
注: REPLACE_CREATE パラメーターは推奨されておらず、今後のリリースで除去される可能性があります。さらに詳しくは、『IMPORT コマンドの推奨されなくなったオプション CREATE および REPLACE_CREATE』を参照してください。

表が既にある場合には、 データ・オブジェクトを切り捨てることによって表内の既存のデータすべてを削除し、 表定義や索引定義は変えることなく、インポートしたデータを挿入します。

表がまだない場合には、データベースのコード・ページで、 表と索引の定義と行の内容を作成します。 制約事項のリストは、『インポート済みの表の再作成』 を参照してください。

このオプションは、IXF ファイルの場合にのみ使用することができます。 階層間でデータを移動する際にこのオプションを使用する場合は、 階層全体に関係したデータだけが置き換えられます。副表は置き換えられません。

ニックネームにインポートするときには、このパラメーターは無効です。

INTO table-name
データのインポート先となるデータベース表を指定します。 この表として、システム表、作成済み一時表、宣言済み一時表、またはサマリー表は指定できません。

以前のサーバーの場合を除き、INSERTINSERT_UPDATE、または REPLACE オプションには、完全修飾または非修飾の表名を使用しなければならないようなときでも、別名を使用することができます。修飾された表名は、schema.tablename の形式になります。 schema には、表作成時のユーザー名が入ります。

暗黙的な非表示列がデータベース表に含まれている場合には、インポート操作に非表示列のデータを含めるかどうかを指定する必要があります。 非表示列のデータを含めるかどうかを示すには、以下のいずれかの方法を使用します。
  • データの挿入先の列を明示的に指定する場合、insert-column を使用します。
    db2 import from delfile1 of del
       insert into table1 (c1, c2, c3,...)
  • 非表示列のファイル・タイプ修飾子のいずれかを使用します。入力ファイルに非表示列のデータが含まれる場合には implicitlyhiddeninclude を指定し、入力ファイルに含まれない場合には implicitlyhiddenmissing を指定します。
    db2 import from delfile1 of del modified by implicitlyhiddeninclude
       insert into table1 
  • 暗黙的な非表示列が含まれる表をデータ移動ユーティリティーが検出した場合のデフォルト動作を設定するには、DB2_DMU_DEFAULT レジストリー変数をクライアント・サイドで使用します。
    db2set DB2_DMU_DEFAULT=IMPLICITLYHIDDENINCLUDE
    db2 import from delfile1 of del insert into table1 
insert-column
データの挿入先となる表またはビュー内の列名を指定します。
ALL TABLES
階層専用の暗黙キーワード。 階層をインポートする場合、走査順序で指定されるすべての表をインポートすることがデフォルトです。
sub-table-list
型付き表で INSERT または INSERT_UPDATE オプションを指定した場合、データのインポート先副表を指定するために副表名のリストが使われます。
HIERARCHY
階層データをインポートするよう指定します。
STARTING sub-table-name
階層専用キーワード。 sub-table-name から始まるデフォルト順を要求します。 PC/IXF ファイルの場合、デフォルト順は入力ファイルに保管されている順です。 PC/IXF ファイル・フォーマットの場合、デフォルト順は有効な唯一の順序です。
traversal-order-list
型付き表で INSERTINSERT_UPDATE、または REPLACE オプションを指定した場合、インポートする階層内の副表の横断順序を指定するために副表名のリストを使います。
CREATE
注: CREATE パラメーターは推奨されておらず、今後のリリースで除去される可能性があります。さらに詳しくは、『IMPORT コマンドの推奨されなくなったオプション CREATE および REPLACE_CREATE』を参照してください。

データベースのコード・ページで表の定義と行の内容を作成します。 DB2 の表、副表、または階層からエクスポートされたデータの場合、索引も作成されます。このオプションが階層に対するものである場合に、DB2 からデータがエクスポートされると、タイプ階層も作成されます。このオプションは、IXF ファイルの場合にのみ使用することができます。

ニックネームにインポートするときには、このパラメーターは無効です。

注: データが MVS™ ホスト・データベースからエクスポートされたもので、ページ・サイズで計算した長さが 254 より大きい LONGVAR フィールドを含んでいる場合、CREATE は行が長過ぎるために失敗します。制約事項のリストは、『インポート済みの表の再作成』を参照してください。この場合、その表は手動で作成します。そして、IMPORTINSERT を指定して呼び出すか、または LOAD コマンドを使用してください。
AS ROOT TABLE
1 つ以上の副表を、独立した表階層として作成します。
UNDER sub-table-name
1 つ以上の副表を作成する場合に親表を指定します。
IN tablespace-name
表を作成する表スペースを指定します。 表スペースは存在している必要があり、REGULAR 表スペースでなければなりません。 他の表スペースを指定しない場合、すべての表パーツはこの表スペースに保管されます。 この節を指定しない場合、表は許可 ID によって作成された表スペース中に作成されます。 何も検出されない場合、その表はデフォルト表スペースの USERSPACE1 に入れられます。 USERSPACE1 がドロップされていた場合、表作成は失敗します。
INDEX IN tablespace-name
表の索引を作成する表スペースを指定します。 このオプションは、IN 節で指定される PRIMARY 表スペースが DMS 表スペースである場合のみ使用できます。 指定した表スペースは存在している必要があり、 かつ REGULAR または LARGE DMS 表スペースでなければなりません。
注: どの表スペースに索引を配置するかは、表を作成するときにのみ指定できます。
LONG IN tablespace-name
ロング列の値 (LONG VARCHAR、LONG VARGRAPHIC、LOB データ・タイプ、 またはソース・タイプとしてこれらが指定されている特殊タイプ) を保管する表スペースを指定します。 このオプションは、IN 節で指定した PRIMARY 表スペースが DMS 表スペースである場合のみ使用できます。指定した表スペースは存在している必要があり、LARGE DMS 表スペースでなければなりません。

例 1

次に示すのは myfile.ixf から STAFF 表に情報をインポートする方法の例です。
   db2 import from myfile.ixf of ixf messages msg.txt insert into staff

SQL3150N  The H record in the PC/IXF file has product "DB2    01.00", date
"19970220", and time "140848".
 
SQL3153N  The T record in the PC/IXF file has name "myfile", 
qualifier "        ", and source "            ".
 
SQL3109N  The utility is beginning to load data from file "myfile".
 
SQL3110N  The utility has completed processing.  "58" rows were read 
from the input file.
 
SQL3221W  ...Begin COMMIT WORK. Input Record Count = "58".
 
SQL3222W  ...COMMIT of any database changes was successful.
 
SQL3149N  "58" rows were processed from the input file.  "58" rows were
successfully inserted into the table.  "0" rows were rejected.

例 2 (ID 列がある表へのインポート)

TABLE1 には以下の 4 つの列があります。
  • C1 VARCHAR(30)
  • C2 INT GENERATED BY DEFAULT AS IDENTITY
  • C3 DECIMAL(7,2)
  • C4 CHAR(1)

TABLE2 は TABLE1 と同じですが、C2 が GENERATED ALWAYS ID 列である点が異なります。

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
以下のコマンドは、DATAFILE1 で行 1 および 2 への IDENTITY 値が入力されていないので、それらの行のための IDENTITY 値を生成します。 ただし、行 3 にはユーザー提供の ID 値 100 が、行 4 にはユーザー提供の ID 値 101 がそれぞれ割り当てられます。
   db2 import from datafile1.del of del replace into table1
DATAFILE1 を TABLE1 にインポートしてすべての行に対する IDENTITY 値を生成するには、以下のコマンドのいずれかを発行します。
   db2 import from datafile1.del of del method P(1, 3, 4)
      replace into table1 (c1, c3, c4)
   db2 import from datafile1.del of del modified by identityignore
      replace into table1
DATAFILE2 を TABLE1 にインポートして各行に対する IDENTITY 値を生成するには、以下のコマンドのいずれかを発行します。
   db2 import from datafile2.del of del replace into table1 (c1, c3, c4)
   db2 import from datafile2.del of del modified by identitymissing
      replace into table1

DATAFILE1 を TABLE2 に、IDENTITY 関連のファイル・タイプ修飾子を使用せずにインポートした場合、行 1 と 2 は挿入されますが、行 3 と 4 はリジェクトされます。 その理由は、それらが固有の非 NULL 値を提供し、IDENTITY 列が GENERATED ALWAYS であるからです。

XMLVALIDATE 節の使用例

例 1 (XMLVALIDATE USING XDS)

以下の XMLVALIDATE 節の場合、
XMLVALIDATE USING XDS
  IGNORE (S1.SCHEMA_A)
  MAP ((S1.SCHEMA_A, S2.SCHEMA_B))
S1.SCHEMA_A の IGNORE が S1.SCHEMA_A から S2.SCHEMA_B への MAP と矛盾しているため構文が無効であり、インポートは失敗します。

例 2 (XMLVALIDATE USING XDS)

以下の XMLVALIDATE 節の場合、
XMLVALIDATE USING XDS
  DEFAULT S8.SCHEMA_H
  IGNORE (S9.SCHEMA_I, S10.SCHEMA_J)
  MAP ((S1.SCHEMA_A, S2.SCHEMA_B), (S3.SCHEMA_C, S5.SCHEMA_E),
    (S6.SCHEMA_F, S3.SCHEMA_C), (S4.SCHEMA_D, S7.SCHEMA_G))
XML 列に以下の XDS が含まれているとすると、
<XDS FIL='xmlfile.001.xml' />
使用するデフォルト・スキーマとして "S8.SCHEMA_H" が指定されているため、ファイル "xmlfile.001.xml" に含まれる文書は、SQL ID が "S8.SCHEMA_H" である XML スキーマを使用して妥当性検査されます。
XML 列に以下の XDS が含まれているとすると、
<XDS FIL='xmlfile.002.xml' OFF='10' LEN='500' SCH='S10.SCHEMA_J' />
使用するスキーマとして XDS で指定されているのは "S10.SCHEMA_J" ですが、このスキーマは IGNORE 節に含まれているため、ファイル "xmlfile.002.xml" に含まれる文書のスキーマ妥当性検査は実行されません。 文書の内容はファイル中のバイト・オフセット 10 (11 番目のバイト) にあり、その長さは 500 バイトです。
XML 列に以下の XDS が含まれているとすると、
<XDS FIL='xmlfile.003.xml' SCH='S6.SCHEMA_F' />
ファイル "xmlfile.003.xml" に含まれる文書は、SQL ID が "S3.SCHEMA_C" である XML スキーマを使用して妥当性検査されます。 これは、MAP 節でスキーマ "S6.SCHEMA_F" をスキーマ "S3.SCHEMA_C" にマップすることが指定されているためです。 それ以外のマッピングは実行されないため、この場合、スキーマ "S3.SCHEMA_C" からスキーマ "S5.SCHEMA_E" へのマッピングは適用されないことに注意してください。
XML 列に以下の XDS が含まれているとすると、
<XDS FIL='xmlfile.004.xml' SCH='S11.SCHEMA_K' />
ファイル "xmlfile.004.xml" に含まれる文書は、SQL ID が "S11.SCHEMA_K" である XML スキーマを使用して妥当性検査されます。 この場合、DEFAULTIGNORE、 または MAP の指定のいずれも適用されないことに注意してください。

例 3 (XMLVALIDATE USING XDS)

以下の XMLVALIDATE 節の場合、
XMLVALIDATE USING XDS
  DEFAULT S1.SCHEMA_A
  IGNORE (S1.SCHEMA_A)
XML 列に以下の XDS が含まれているとすると、
<XDS FIL='xmlfile.001.xml' />
使用するデフォルト・スキーマとして "S1.SCHEMA_1" が指定されているため、ファイル "xmlfile.001.xml" に含まれる文書は、SQL ID が "S1.SCHEMA_A" である XML スキーマを使用して妥当性検査されます。
XML 列に以下の XDS が含まれているとすると、
<XDS FIL='xmlfile.002.xml' SCH='S1.SCHEMA_A' />
使用するスキーマとして XDS で指定されているのは "S1.SCHEMA_A" ですが、このスキーマは IGNORE 節に含まれているため、ファイル "xmlfile.002" に含まれる文書のスキーマ妥当性検査は実行されません。

例 4 (XMLVALIDATE USING XDS)

以下の XMLVALIDATE 節の場合、
XMLVALIDATE USING XDS
  DEFAULT S1.SCHEMA_A
  MAP ((S1.SCHEMA_A, S2.SCHEMA_B), (S2.SCHEMA_B, S1.SCHEMA_A))
XML 列に以下の XDS が含まれているとすると、
<XDS FIL='xmlfile.001.xml' />
使用するデフォルト・スキーマとして "S1.SCHEMA_1" が指定されているため、ファイル "xmlfile.001.xml" に含まれる文書は、SQL ID が "S1.SCHEMA_A" である XML スキーマを使用して妥当性検査されます。 DEFAULT 節が適用されたため、それ以降 MAP 節は適用されないことに注意してください。したがって、この場合、スキーマ "S1.SCHEMA_A からスキーマ "S2.SCHEMA_B" へのマッピングは適用されません。
XML 列に以下の XDS が含まれているとすると、
<XDS FIL='xmlfile.002.xml' SCH='S1.SCHEMA_A' />
ファイル "xmlfile.002.xml" に含まれる文書は、SQL ID が "S2.SCHEMA_B" である XML スキーマを使用して妥当性検査されます。 これは、MAP 節でスキーマ "S1.SCHEMA_A" をスキーマ "S2.SCHEMA_B" にマップすることが指定されているためです。それ以外のマッピングは実行されないため、この場合、スキーマ "S2.SCHEMA_B" からスキーマ "S1.SCHEMA_A" へのマッピングは適用されないことに注意してください。
XML 列に以下の XDS が含まれているとすると、
<XDS FIL='xmlfile.003.xml' SCH='S2.SCHEMA_B' />
ファイル "xmlfile.003.xml" に含まれる文書は、SQL ID が "S1.SCHEMA_A" である XML スキーマを使用して妥当性検査されます。 これは、MAP 節でスキーマ "S2.SCHEMA_B" をスキーマ "S1.SCHEMA_A" にマップすることが指定されているためです。それ以外のマッピングは実行されないため、この場合、スキーマ "S1.SCHEMA_A" からスキーマ "S2.SCHEMA_B" へのマッピングは適用されないことに注意してください。

例 5 (XMLVALIDATE USING SCHEMA)

以下の XMLVALIDATE 節の場合、
XMLVALIDATE USING SCHEMA S2.SCHEMA_B
XML 列に以下の XDS が含まれているとすると、
<XDS FIL='xmlfile.001.xml' />
ファイル xmlfile.001.xml に含まれる文書は、SQL ID が "S2.SCHEMA_B" の XML スキーマを使用して妥当性検査されます。
XML 列に以下の XDS が含まれているとすると、
<XDS FIL='xmlfile.002.xml' SCH='S1.SCHEMA_A' />
ファイル "xmlfile.002.xml" に含まれる文書は、SQL ID が "S2.SCHEMA_B" の XML スキーマを使用して妥当性検査されます。 妥当性検査は USING SCHEMA 節で指定されたスキーマを使用して実行されるため、SCH 属性は無視されることに注意してください。

例 6 (XMLVALIDATE USING SCHEMALOCATION HINTS)

XML 列に以下の XDS が含まれているとすると、
<XDS FIL='xmlfile.001.xml' />
使用される XML スキーマは、文書の内容として含まれる schemaLocation 属性によって決まります。 その属性が指定されていない場合、妥当性検査は実行されません。
XML 列に以下の XDS が含まれているとすると、
<XDS FIL='xmlfile.002.xml' SCH='S1.SCHEMA_A' />
使用される XML スキーマは、文書の内容として含まれる schemaLocation 属性によって決まります。 その属性が指定されていない場合、妥当性検査は実行されません。 妥当性検査は SCHEMALOCATION HINTS を使用して実行されるため、SCH 属性は無視されることに注意してください。

使用上の注意

インポート操作を開始する前に、すべての表操作が完了し、すべてのロックがペンディング解除になっていることを確認してください。 これは、WITH HOLD でオープンされた、 すべてのカーソルをクローズした後で COMMIT または ROLLBACK を発行することによって行われます。

インポート・ユーティリティーは、 SQL INSERT ステートメントを使用してターゲット表に行を追加します。 このユーティリティーは、 入力ファイル中の各行のデータにつき 1 つずつ INSERT ステートメントを発行します。 INSERT ステートメントが失敗した場合、以下の 2 通りの結果のいずれかになります。
  • 後続の INSERT ステートメントが成功すると予測される場合には、 警告メッセージがメッセージ・ファイルに書き込まれ、処理が継続されます。
  • 後続の INSERT ステートメントが失敗すると予測され、 データベースが損傷する可能性がある場合には、 エラー・メッセージがメッセージ・ファイルに書き込まれ、処理が停止されます。

このユーティリティーは、REPLACE または REPLACE_CREATE 操作時に以前の行が削除された後、自動 COMMIT を実行します。したがって、表オブジェクトが切り捨てられた後、システムに障害が起こったり、 アプリケーションがデータベース・マネージャーに割り込んだりすると、 元のデータがすべて失われてしまいます。 これらのオプションを使用する前に、 元のデータがもはや必要ないことを確認してください。

CREATEREPLACE、または REPLACE_CREATE 操作時にログが満杯になると、 このユーティリティーは挿入されたレコードに対して自動 COMMIT を実行します。自動 COMMIT の後に、システムに障害が起こるか、 またはアプリケーションがデータベース・マネージャーに割り込むと、 部分的にデータの挿入された表はデータベース内に残ります。 REPLACE または REPLACE_CREATE オプションを使用してインポート操作全体をやり直すか、または正常にインポートされる行の数に設定した RESTARTCOUNT パラメーターを指定して INSERT を使用してください。

IMPORT コマンドからの更新は、常に IMPORT タスクの終わりにコミットされます。IMPORT コマンドの実行時に自動コミットを実行して、ロック・リストのサイズとアクティブ・ログ・スペースを減らすこともできます。IMPORT 処理中にアクティブ・ログがいっぱいになると、IMPORT コマンドはロールバックします。
  • デフォルトでは、INSERT または INSERT_UPDATE オプションについては自動コミットは実行されません。しかし、COMMITCOUNT パラメーターがゼロでない場合は実行されます。
  • 以下のいずれかの条件が真であると、オフライン・インポートでは自動の COMMIT は実行されません。
    • ターゲットは表ではなくビューである。
    • コンパウンド挿入を使用している。
    • バッファー挿入を使用している。
  • デフォルトでは、オンライン・インポートは自動コミットを実行して、アクティブ・ログ・スペースとロック・リストを両方とも解放します。自動コミットが実行されないのは、ゼロの COMMITCOUNT 値を指定した場合のみです。

インポート・ユーティリティーが COMMIT を実行するたびに、 2 つのメッセージがメッセージ・ファイルに書き込まれます。 一方は、コミットされるレコードの数を示し、もう一方は、 COMMIT の成功後に書き込まれます。 障害の後にインポート操作を再開するときには、 スキップするレコードの数 (最後の正常なコミットから判別される) を指定してください。

インポート・ユーティリティーでは、 多少の非互換性問題がある入力データは受け入れられます (例えば、 文字データは埋め込みまたは切り捨てを用いてインポートできます。 数値データは異なる数値データ・タイプを用いてインポートできます)。 しかし、大きな非互換性問題のあるデータは受け入れられません。

オブジェクト表に何らかの従属 (それ自体への従属は除く) がある場合は、 そのオブジェクト表を REPLACE または REPLACE_CREATE することはできません。 また、オブジェクト・ビューの基本表に何らかの従属 (それ自体への従属を含む) がある場合は、 そのオブジェクト・ビューを REPLACE または REPLACE_CREATE することはできません。 そのような表またはビューを置換するには、以下のとおりに行ってください。
  1. その表が親となっているすべての外部キーをドロップします。
  2. インポート・ユーティリティーを実行します。
  3. 表を変更して、外部キーを再作成します。

外部キーの再作成中にエラーが発生する場合、 参照整合性を保守するためにデータを変更してください。

参照制約および外部キー定義は、PC/IXF ファイルから表を再作成する場合は保存されません。 (主キー定義は、データが前に SELECT * を使ってエクスポートされた場合、保存されます。)

リモート・データベースへのインポートでは、サーバーに、 入力データ・ファイルのコピー、出力メッセージ・ファイル、 およびデータベースのサイズ拡大を見込んだ十分なディスク・スペースが必要とされます。

インポート操作がリモート・データベースに対して実行され、 出力メッセージ・ファイルが非常に長くなった (60 KB を超過) 場合、 クライアントのユーザーに戻されるメッセージ・ファイルで、インポート操作中にメッセージが欠落する可能性があります。 メッセージ情報の最初の 30 KB と最後の 30 KB は、常に保持されます。

PC/IXF ファイルのリモート・データベースへのインポートは、 PC/IXF ファイルがディスケットにあるときよりも、 ハード・ディスクにあるときの方がより速く行うことができます。

データベース表または階層が存在していないと、ASC または DEL ファイル形式のデータをインポートできません。 ただし、表が存在していない場合でも、IMPORT CREATE または IMPORT REPLACE_CREATE は、 PC/IXF ファイルからデータをインポートする際に表を作成します。型付き表の場合、IMPORT CREATE はタイプ階層と表階層も作成することができます。

PC/IXF インポートは、 データベース間でデータ (階層データも含む) を移動する場合に使用します。 行区切り文字を含む文字データが区切り文字付き ASCII (DEL) ファイルにエクスポートされ、 テキスト転送プログラムによって処理される場合、 行区切り文字を含むフィールドは長さが変わることがあります。 ソースとターゲットのデータベースが両方とも同じクライアントからアクセス可能である場合、 ファイルのコピーというステップは必要ありません。

ASC および DEL ファイルのデータは、 インポートを実行するクライアント・アプリケーションのコード・ページであると仮定されます。 異なるコード・ページのデータをインポートする場合は、 異なるコード・ページを使用することのできる PC/IXF ファイルをお勧めします。 PC/IXF ファイルとインポート・ユーティリティーが同じコード・ページである場合は、 通常のアプリケーションの場合のように処理が行われます。 それぞれのコード・ページが異なっており、FORCEIN オプションが指定されている場合、 インポート・ユーティリティーは、PC/IXF ファイルのデータのコード・ページと、 インポートを実行中のアプリケーションのコード・ページが同じであると見なします。 この処理は、 それら 2 つのコード・ページ用の変換テーブルが存在する場合であっても行われます。 それぞれのコード・ページが異なっており、FORCEIN オプションが指定されておらず、 変換テーブルが存在する場合、PC/IXF ファイルのすべてのデータは、 そのファイルのコード・ページからアプリケーションのコード・ページに変換されます。 それぞれのコード・ページが異なっており、FORCEIN オプションが指定されておらず、 変換テーブルが存在しない場合、インポート操作は失敗します。 これが該当するのは、AIX® オペレーティング・システムの DB2 クライアント上の PC/IXF ファイルの場合だけです。

8 KB ページ上の表オブジェクトの量が 1012 列の制限に近い場合、PC/IXF データ・ファイルをインポートすると、SQL ステートメントの最大サイズを超過するため、DB2 はエラーを戻します。 この状態が発生する可能性があるのは、列が CHAR、 VARCHAR、 または CLOB タイプの場合だけです。 DEL または ASC ファイルのインポートには、この制限事項は適用されません。 PC/IXF ファイルを使って新しい表を作成している場合、別の方法として、db2look を使って表を作成した DDL ステートメントをダンプしてから、そのステートメント CLP から発行する、という方法があります。

DB2 Connect を使用して、DB2 for OS/390®、DB2 for VM and VSE、および DB2 for OS/400® などの DRDA® サーバーにデータをインポートすることができます。 サポートされているのは、PC/IXF インポート (INSERT オプション) だけです。 RESTARTCOUNT パラメーターもサポートされていますが、COMMITCOUNT パラメーターはサポートされていません。

型付き表で CREATE オプションを使用するときは、PC/IXF ファイルで定義されているすべての副表を作成してください。副表の定義は変更できません。型付き表で CREATE 以外のオプションを使用するときは、全探索順序リストによって全探索順序を指定できます。このため、全探索順序リストはエクスポート操作時に使用したものと一致する必要があります。PC/IXF ファイル形式の場合は、ターゲット副表の名前を指定して、 ファイルに格納されている全探索順序を使用するだけです。

インポート・ユーティリティーは、 以前 PC/IXF ファイルにエクスポートされた表をリカバリーする場合に使用できます。 その表は、エクスポート時の状態に戻ります。

システム表、作成済み一時表、宣言済み一時表、またはサマリー表にデータをインポートすることはできません。

インポート・ユーティリティーを介してビューを作成することはできません。

それぞれのパーツが Windows システムから AIX システムにコピーされる、複数のパーツからなる PC/IXF ファイルのインポートがサポートされています。最初のファイルの名前だけ、IMPORT コマンドで指定する必要があります。例えば、IMPORT FROM data.ixf OF IXF INSERT INTO TABLE1 のようにします。ファイル data.002 などが、data.ixf と同じディレクトリーで使用できます。

Windows オペレーティング・システムの場合は、以下のとおりです。
  • 論理分割された PC/IXF ファイルのインポートはサポートされていません。
  • 不正な形式の PC/IXF ファイルのインポートは、 サポートされていません。

内部形式のセキュリティー・ラベルには、改行文字が含まれている可能性があります。 DEL ファイル形式を使用してファイルをインポートする場合、それらの改行文字が間違って区切りと解釈される可能性があります。 この問題が発生する場合は、IMPORT コマンドで delprioritychar ファイル・タイプ修飾子を指定することによって、区切り文字に関して以前に使用されていた古いデフォルト優先順位を使用してください。

暗黙的な非表示列がデータベース表に含まれている場合には、インポート操作に非表示列のデータを含めるかどうかを指定する必要があります。

IMPORT ユーティリティーは、表内の列数とデータ・ファイル内のフィールド数の突き合わせを行いません。このユーティリティーは、データ・ファイル内に十分な量のデータがあるかどうかをチェックします。データ・ファイル内の行に十分なデータ列が含まれていない場合、その行は拒否されて警告メッセージが表示される (表の対応するデータのない列が NOT NULL として定義されている場合) か、警告メッセージは表示されずに正常に挿入されます (表の対応する列が NULL として定義されている場合)。一方、行に必要な数より多くの列が含まれている場合、必要な数の列が処理され、残りのデータ列は省略されます。警告メッセージは表示されません。

フェデレーテッドに関する考慮事項

IMPORT コマンドで INSERTUPDATE、または INSERT_UPDATE コマンド・パラメーターを使用するときには、関係するニックネームに対する CONTROL 特権があることを確認してください。インポート操作で使用したいニックネームが既に存在することを確認する必要があります。 そのほかにも、IMPORT コマンド・パラメーターのセクションに記載されているようないくつかの制約事項に注意する必要があります。

ODBC などの一部のデータ・ソースでは、ニックネームへのインポートはサポートされていません。

インポート・ユーティリティー用のファイル・タイプ修飾子

表 1. インポート・ユーティリティーの有効なファイル・タイプ修飾子: すべてのファイル形式
修飾子 説明
compound=x x は 1 から 100 の数字です。 非アトミック・コンパウンド SQL を使用してデータを挿入します。 毎回 x 個のステートメントが試行されます。

この修飾子が指定され、トランザクション・ログに十分な大きさがない場合、インポート操作は失敗します。 トランザクション・ログは、COMMITCOUNT によって指定された行数か、または COMMITCOUNT が指定されていない場合はデータ・ファイルの行数を入れる十分な大きさが必要です。したがって、トランザクション・ログのオーバーフローを避けるために、COMMITCOUNT オプションを指定することをお勧めします。

この修飾子は、INSERT_UPDATE モード、階層表、および修飾子 usedefaultsidentitymissingidentityignoregeneratedmissinggeneratedignore とは互換性がありません。

generatedignore この修飾子は、インポート・ユーティリティーに、すべての生成列のデータはデータ・ファイルに存在するが、それらを無視すべきことを知らせます。 この結果として、生成列のすべての値は、このユーティリティーによって生成されます。 この修飾子は、generatedmissing 修飾子と共に使用することはできません。
generatedmissing この修飾子が指定されている場合、 ユーティリティーは、 生成列のデータが入力データ・ファイルに入っていない (NULL も入っていない) ものと見なし、 行ごとに値を生成します。 この修飾子は、generatedignore 修飾子と共に使用することはできません。
identityignore この修飾子は、インポート・ユーティリティーに、ID 列のデータはデータ・ファイルに存在するが、それらを無視すべきことを知らせます。 この結果として、すべて ID 値はこのユーティリティーによって生成されます。 この動作は、GENERATED ALWAYS および GENERATED BY DEFAULT のどちらの ID 列の場合も同じです。 つまり、GENERATED ALWAYS 列の場合には、リジェクトされる行はありません。 この修飾子は、identitymissing 修飾子とともに使用することはできません。
identitymissing この修飾子を指定すると、ユーティリティーは、ID 列のデータが入力データ・ファイルに入っていない (NULL も入っていない) ものと見なし、行ごとに値を生成します。 この動作は、GENERATED ALWAYS および GENERATED BY DEFAULT のどちらの ID 列の場合も同じです。 この修飾子は、identityignore 修飾子とともに使用することはできません。
implicitlyhiddeninclude この修飾子が指定されている場合、ユーティリティーは、入力データ・ファイルに暗黙非表示列へのデータが含まれると見なし、そのデータもインポートします。この修飾子は、 implicitlyhiddenmissing 修飾子と共に使用することはできません。 複数の修飾子が指定されている場合の優先順位については、注: セクションを参照してください。
implicitlyhiddenmissing この修飾子を指定すると、ユーティリティーは入力データ・ファイルに暗黙的な非表示列のデータが含まれないと見なし、ユーティリティーがそれらの暗黙的な非表示列の値を生成します。 この修飾子は、 implicitlyhiddeninclude 修飾子と共に使用することはできません。 複数の修飾子が指定されている場合の優先順位については、注: セクションを参照してください。
lobsinfile lob-path には、LOB データの入ったファイルへのパスを指定します。

各パスには、データ・ファイル内で LOB ロケーション指定子 (LLS) によって示される 1 つ以上の LOB の入った、少なくとも 1 つのファイルが組み込まれます。 LLS は、LOB ファイル・パスに保管されるファイル内の LOB のロケーションのストリング表現です。 LLS の形式は、filename.ext.nnn.mmm/ です。 filename.ext は LOB を収めたファイルの名前、 nnn はファイル内の LOB のオフセット (バイト単位)、 mmm は LOB の長さ (バイト単位) を表します。 例えば、ストリング db2exp.001.123.456/ がデータ・ファイルに保管される場合、 LOB はファイル db2exp.001 のオフセット 123 に位置し、456 バイト長です。

LOBS FROM 節は、「lobsinfile」修飾子が使用されているときの、LOB ファイルの場所を指定します。LOBS FROM 節によって、LOBSINFILE 動作が暗黙的にアクティブ化されます。 LOBS FROM 節は、データのインポート中に、IMPORT ユーティリティーに LOB ファイルを検索するためのパスのリストを送ります。

NULL LOB を指定するには、サイズに -1 と入力します。 サイズを 0 と指定すると、長さが 0 の LOB として扱われます。 長さが -1 の NULL LOB の場合、オフセットとファイル名は無視されます。 例えば、NULL LOB の LLS は、db2exp.001.7.-1/ のようになります。

no_type_id 1 つの副表にインポートする場合にのみ有効です。これを使う場合として典型的な例は、REGULAR 表からデータをエクスポートした後、この修飾子を使ってインポート操作を呼び出してそのデータを単一の副表に変換する場合です。
nodefaults ターゲット表の列に対応するソース列が明示的に指定されていない場合、その表列が NULL 不可能なら、デフォルト値はロードされません。 このオプションを指定せず、あるターゲット表列のためのソース列が明示的に指定されていない場合、以下のいずれかになります。
  • 列にデフォルト値を指定できる場合、そのデフォルト値がロードされます。
  • 列が NULL 可能で、デフォルト値がその列に指定できない場合、NULL がロードされます。
  • 列が NULL 不可能で、デフォルト値がその列に指定できない場合、エラーが戻され、ユーティリティーは処理を停止します。
norowwarnings リジェクトされた行についてのすべての警告を抑止します。
periodignore この修飾子は、インポート・ユーティリティーに対して、期間列へのデータがデータ・ファイル内に存在しても無視するように通知します。 この修飾子が指定された場合、すべての期間列の値はユーティリティーによって生成されます。この修飾子は、periodmissing 修飾子と共に使用することはできません。
periodmissing この修飾子が指定されている場合、 ユーティリティーは、期間列のデータが入力データ・ファイルに入っていないものと見なします。 この修飾子が指定された場合、すべての期間列の値はユーティリティーによって生成されます。この修飾子は、periodignore 修飾子と共に使用することはできません。
rowchangetimestampignore この修飾子は、インポート・ユーティリティーに、行変更タイム・スタンプの列のデータがデータ・ファイルに存在するが、それらを無視すべきことを知らせます。この結果、すべての ROW CHANGE TIMESTAMP はユーティリティーによって生成されます。この動作は、GENERATED ALWAYS 列でも GENERATED BY DEFAULT 列でも同じです。 つまり、GENERATED ALWAYS 列の場合には、リジェクトされる行はありません。 この修飾子は、rowchangetimestampmissing 修飾子とともに使用することはできません。
rowchangetimestampmissing この修飾子を指定すると、ユーティリティーは、行変更タイム・スタンプ列のデータが入力データ・ファイルに入っていない (NULL も入っていない) ものと見なし、行ごとに値を生成します。この動作は、GENERATED ALWAYS 列でも GENERATED BY DEFAULT 列でも同じです。 この修飾子は、rowchangetimestampignore 修飾子と共に使用することはできません。
seclabelchar 入力ソース・ファイル内のセキュリティー・ラベルが、デフォルトのエンコードされた数値形式ではなく、セキュリティー・ラベル値のストリング形式であることを示します。 IMPORT は、各セキュリティー・ラベルをロードする際に内部形式に変換します。 ストリングが適切な形式ではない場合、行はロードされず、警告 (SQLSTATE 01H53) が戻されます。 ストリングが表を保護するセキュリティー・ポリシーの一部である有効なセキュリティー・ラベルを表していない場合、行はロードされず、警告 (SQLSTATE 01H53、SQLCODE SQL3243W) が戻されます。

seclabelname 修飾子が指定されている場合には、この修飾子は指定できません。 指定すると、インポートは失敗して、エラー (SQLCODE SQL3525N) が戻されます。

seclabelname 入力ソース・ファイル内のセキュリティー・ラベルが、デフォルトのエンコードされた数値形式ではなく、名前によって指定されることを示します。 IMPORT はその名前を適切なセキュリティー・ラベル (存在する場合) に変換します。 表を保護するセキュリティー・ポリシーで、指定された名前のセキュリティー・ラベルが存在しない場合、 行はロードされず、警告 (SQLSTATE 01H53、SQLCODE SQL3244W) が戻されます。

seclabelchar 修飾子が指定されている場合には、この修飾子は指定できません。 指定すると、インポートは失敗して、エラー (SQLCODE SQL3525N) が戻されます。

注: ファイル・タイプが ASC の場合、セキュリティー・ラベルの名前の後にスペースがあれば、それも名前の一部として解釈されます。 これを回避するには、striptblanks ファイル・タイプ修飾子を使用してスペースが除去されるようにします。
transactionidignore この修飾子は、インポート・ユーティリティーに対して、TRANSACTION START ID 列へのデータがデータ・ファイル内に存在しても無視するように通知します。 この修飾子が指定された場合、TRANSACTION START ID 列の値はユーティリティーによって生成されます。この修飾子は、 transactionidmissing 修飾子と共に使用することはできません。
transactionidmissing この修飾子が指定されている場合、 ユーティリティーは、TRANSACTION START ID 列のデータが入力データ・ファイルに入っていないものと見なします。 この修飾子が指定された場合、TRANSACTION START ID 列の値はユーティリティーによって生成されます。この修飾子は、 transactionidignore 修飾子と共に使用することはできません。
usedefaults ターゲット表の列のソース列が指定されているが、1 つ以上の行インスタンスのデータが入っていない場合は、デフォルト値がロードされます。 欠落データの例を以下に示します。
  • DEL ファイルの場合: 列の値として、2 つの連続した列区切り (,,) や、任意の数のスペースで分離した 2 つの連続する列区切り (, ,) が指定されている。
  • DEL/ASC ファイルの場合: 列が不足している行、または元の指定には十分な長さでない行。
    注: ASC ファイルの場合: NULL 列値は明示的に欠落していると見なされず、NULL 列値にはデフォルトが置換されません。数値、日付、時刻、タイム・スタンプの列では、全桁スペース文字で NULL 列値を表記します。また、どのタイプの列でも、NULL INDICATOR を使用すれば、その列が NULL であることを示せます。
このオプションが指定されていない場合、行インスタンスのソース列にデータがないと、以下のいずれかの処理が行われます。
  • DEL/ASC ファイルの場合: 列が NULL 可能であれば、NULL がロードされます。 列が NULL 可能でない場合、ユーティリティーはその行をリジェクトします。
既存行を更新する場合に、主キーの一部である列の値の入力データが欠落している場合、INSERT_UPDATE モードで usedefaults ファイル・タイプ修飾子を使用することはできません。 既存行は更新されず、SQL3116W が返されます。
表 2. インポート・ユーティリティーで有効なファイル・タイプ修飾子: ASCII ファイル・フォーマット (ASC/DEL)
修飾子 説明
codepage=x x は、ASCII 文字ストリングです。この値は、 入力データ・セット内のデータのコード・ページとして解釈されます。 インポート操作中に、文字データをこのコード・ページからアプリケーション・コード・ページに変換します。
以下の規則が適用されます。
  • 純 DBCS (GRAPHIC)、混合 DBCS、および EUC では、区切り文字は x00 から x3F の範囲に制限されます。
  • nullindchar では、標準の ASCII セットのコード・ポイント x20 から x7F の範囲に含まれているシンボルを指定する必要があります。 これは、ASCII 記号およびコード・ポイントを示します。
注:
  1. コード・ページがアプリケーションのコード・ページからデータベースのコード・ページに変換されているときにデータの拡張が発生する場合は、 データは切り捨てられ、データの消失が発生する可能性があります。
dateformat="x" x はソース・ファイルの日付のフォーマットです。2 有効な日付エレメントは以下のとおりです。
YYYY
年 (0000 から 9999 の範囲の 4 桁の数)
M
月 (1 から 12 の範囲の 1 桁または 2 桁の数)
MM
月 (01 から 12 の 2 桁の数。M とは相互に排他的)
D
日 (1 から 31 の範囲の 1 桁または 2 桁の数)
DD
日 (01 から 31 の範囲の 2 桁の数。D とは相互に排他的)
DDD
元日から数えた日数 (001 から 366 の範囲の 3 桁の数。他の日または月のエレメントとは相互に排他的)
デフォルト値の 1 が、指定されない各エレメントに割り当てられます。 日付形式の例を以下に示します。
   "D-M-YYYY"
   "MM.DD.YYYY"
   "YYYYDDD"
implieddecimal 暗黙指定されている小数点の位置が列定義によって決定され、 値の終わりにあるとは見なされなくなります。 例えば、値 12345 は、12345.00 ではなく123.45 として DECIMAL(8,2) 列にロードされます。
timeformat="x" x はソース・ファイル内の時刻のフォーマットです。2 有効な時刻エレメントは以下のとおりです。
H
時 (12 時間制の場合は 0 から 12、24 時間制では 0 から 24 の範囲の 1 桁または 2 桁の数。)
HH
時 (12 時間制の場合は 00 から 12、24 時間制では 00 から 24 の範囲の 2 桁の数。H と相互に排他的)
M
分 (0 から 59 の範囲の 1 桁または 2 桁の数)
MM
分 (00 から 59 の範囲の 2 桁の数。M とは相互に排他的)
S
秒 (0 から 59 の範囲の 1 桁または 2 桁の数)
SS
秒 (00 から 59 の範囲の 2 桁の数。S とは相互に排他的)
SSSSS
夜中の 12 時から数えた秒数 (00000 から 86400 の範囲の 5 桁の数。他の時刻エレメントとは相互に排他的)
TT
午前/午後の指定子 (AM または PM)
指定されない各エレメントには、デフォルト値の 0 が割り当てられます。 時刻フォーマットの例を以下に示します。
   "HH:MM:SS"
   "HH.MM TT"
   "SSSSS"
timestampformat="x" x はソース・ファイル内のタイム・スタンプのフォーマットです。2 有効なタイム・スタンプ・エレメントは以下のとおりです。
YYYY
年 (0000 から 9999 の範囲の 4 桁の数)
M
月 (1 から 12 の範囲の 1 桁または 2 桁の数)
MM
月 (01 から 12 の 2 桁の数。M および MMM とは相互に排他的)
MMM
月 (大文字小文字を区別しない月名の 3 文字の省略形。M と MM とは相互に排他的)
D
日 (1 から 31 の範囲の 1 桁または 2 桁の数)
DD
日 (01 から 31 の範囲の 2 桁の数。D とは相互に排他的)
DDD
元日から数えた日数 (001 から 366 の範囲の 3 桁の数。他の日または月のエレメントとは相互に排他的)
H
時 (12 時間制の場合は 0 から 12、24 時間制では 0 から 24 の範囲の 1 桁または 2 桁の数。)
HH
時 (12 時間制の場合は 00 から 12、24 時間制では 00 から 24 の範囲の 2 桁の数。H と相互に排他的)
M
分 (0 から 59 の範囲の 1 桁または 2 桁の数)
MM
分 (00 から 59 の範囲の 2 桁の数。M (分) とは相互に排他的)
S
秒 (0 から 59 の範囲の 1 桁または 2 桁の数)
SS
秒 (00 から 59 の範囲の 2 桁の数。S とは相互に排他的)
SSSSS
夜中の 12 時から数えた秒数 (00000 から 86400 の範囲の 5 桁の数。他の時刻エレメントとは相互に排他的)
U (1 から 12 時)
小数秒 (U のオカレンス数は、各桁を 0 から 9 の範囲として、桁数を表します)
TT
午前/午後の指定子 (AM または PM)
YYYY、M、MM、D、DD、または DDD エレメントが指定されていない場合、デフォルト値の 1 が割り当てられます。 MMM エレメントが指定されていない場合、デフォルト値の「Jan」が割り当てられます。 他のエレメントが指定されていない場合には、デフォルト値の 0 が割り当てられます。 タイム・スタンプ・フォーマットの例を以下に示します。
   "YYYY/MM/DD HH:MM:SS.UUUUUU"

MMM エレメントの有効な値は、 「jan」「feb」「mar」「apr」「may」「jun」「jul」「aug」
「sep」「oct」「nov」、および「dec」です。これらの値では、大/小文字は区別されません。

次の例では、ユーザー定義の日時形式を指示するデータを、schedule という表にインポートする方法を示します。
   db2 import from delfile2 of del
      modified by timestampformat="yyyy.mm.dd hh:mm tt"
      insert into schedule
usegraphiccodepage usegraphiccodepage が指定された場合、GRAPHIC または 2 バイト文字ラージ・オブジェクト (DBCLOB) データ・フィールドにインポートされるデータは、GRAPHIC コード・ページであると見なされます。 データの残りは、文字コード・ページであると見なされます。 GRAPHIC コード・ページは、文字コード・ページと関連付けられます。 IMPORT は、codepage 修飾子 (指定されている場合)、 または codepage 修飾子が指定されていない場合はアプリケーションのコード・ページを介して、 文字コード・ページを決定します。

この修飾子は、リカバリーされている表に GRAPHIC データがある場合にのみ、 ドロップ済み表のリカバリーによって生成された区切りデータ・ファイルとともに使用される 必要があります。

制約事項

EXPORT ユーティリティーで作成された DEL ファイルは、1 つのコード・ページのみでエンコードされたデータを含んでいるため、これらのファイルで usegraphiccodepage 修飾子を指定することはできません。 usegraphiccodepage 修飾子はまた、ファイル内の 2 バイト文字ラージ・オブジェクト (DBCLOB) には無視されます。

xmlchar XML 文書が文字コード・ページでエンコードされていることを示します。

このオプションは、指定の文字コード・ページでエンコードされていても エンコード宣言を含まない XML 文書を処理するために役立ちます。

各文書で、宣言タグが存在してエンコード属性が含まれる場合、 そのエンコード方式は文字コード・ページと一致する必要があります。 一致しない場合、その文書を含む行はリジェクトされます。 文字コード・ページは codepage ファイル・タイプ修飾子で指定されている値であるか、 または指定がない場合はアプリケーションのコード・ページであることに注意してください。 デフォルトでは、文書は Unicode でエンコードされているか、またはエンコード属性のある宣言タグを含んでいます。

xmlgraphic XML 文書が指定された GRAPHIC コード・ページでエンコードされていることを示します。

このオプションは、特定の GRAPHIC コード・ページでエンコードされていても エンコード宣言を含まない XML 文書を処理するために役立ちます。

各文書で、宣言タグが存在してエンコード属性が含まれる場合、 そのエンコード方式は GRAPHIC コード・ページと一致する必要があります。 一致しない場合、その文書を含む行はリジェクトされます。 GRAPHIC コード・ページは codepage ファイル・タイプ修飾子で指定されている値のグラフィック・コンポーネントであるか、または指定がない場合はアプリケーションのコード・ページのグラフィック・コンポーネントであることに注意してください。 デフォルトでは、文書は Unicode でエンコードされているか、またはエンコード属性のある宣言タグを含んでいます。

注: xmlgraphic 修飾子が IMPORT コマンドで指定されている場合、インポートされる XML 文書は、UTF-16 コード・ページでエンコードされていなければなりません。そうでない場合、XML 文書は構文解析エラーで拒否されるか、またはデータ破損のある状態で表にインポートされる場合があります。
表 3. インポート・ユーティリティーで有効なファイル・タイプ修飾子: ASC (区切り文字で区切られていない ASCII) ファイル・フォーマット
修飾子 説明
nochecklengths nochecklengths が指定されていると、 ソース・データの列定義がターゲット表の列のサイズを超えるものであっても、 各行のインポートが試行されます。 このような行が正常にインポートされるのは、 コード・ページ変換でソース・データが縮小する場合です。 例えば、 ソースにある 4 バイトの EUC データがターゲットで 2 バイトの DBCS データに縮小すれば、 必要スペースは半分になります。 このオプションが特に役立つのは、列の定義は不一致であるがソース・データが常に適合することが分かっている場合です。
nullindchar=x x は、単一文字です。NULL 値を示す文字を x に変更します。x のデフォルト値は Y です。3

文字が 1 つの英字である場合を除いて、この修飾子は EBCDIC データ・ファイルで大文字小文字を区別します。 例えば、NULL 標識文字を文字 N に指定した場合、 n も NULL 標識と認識されます。

reclen=x x は、32 767 以下の整数です。各行ごとに x 個の文字が読み取られ、 行の終わりを示すのに改行文字は使用されません。
striptblanks データを可変長フィールドにロードする際に、後書きブランク・スペースを切り捨てます。 このオプションを指定しない場合、ブランク・スペースはそのまま保持されます。
次の例の場合、インポート・ユーティリティーは、 striptblanks によって後書きブランク・スペースを切り捨てます。
   db2 import from myfile.asc of asc
      modified by striptblanks
      method l (1 10, 12 15) messages msgs.txt
      insert into staff

このオプションは、 striptnulls と一緒に指定することはできません。 これらは、相互に排他的なオプションです。このオプションは、廃止された t オプション (下位互換性のためだけにサポートされる) に代わるものです。

striptnulls データを可変長フィールドにロードする際に、後書き NULL (0x00 文字) を切り捨てます。 このオプションを指定しない場合、NULL はそのまま保持されます。

このオプションは、striptblanks と一緒に指定することはできません。 これらは、相互に排他的なオプションです。このオプションは、廃止された padwithzero オプション (下位互換性のためだけにサポートされる) に代わるものです。

表 4. インポート・ユーティリティーで有効なファイル・タイプ修飾子: DEL (区切り文字で区切られている ASCII) ファイル・フォーマット
修飾子 説明
chardelx x は単一文字のストリング区切り文字です。 デフォルト値は二重引用符 (") です。 指定した文字は、文字ストリングを囲むために、二重引用符の代わりに使用されます。 34 文字ストリング区切り文字として明示的に二重引用符を指定する場合、次のように指定します。
    modified by chardel""
単一引用符 (') も、文字ストリングの区切り文字として指定できます。 以下の例では、chardel'' が指定されており、 インポート・ユーティリティーは検出するすべての単一引用符 (') を文字ストリングの区切り文字として解釈します。
   db2 "import from myfile.del of del
      modified by chardel''
      method p (1, 4) insert into staff (id, years)"
coldelx x は単一文字の列区切り文字です。 デフォルト値はコンマ (,) です。 指定した文字は、列の終わりを表すために、コンマの代わりに使用されます。34
以下の例では、coldel; が指定されており、 インポート・ユーティリティーは検出するすべてのセミコロン (;) を列の区切り文字として解釈します。
   db2 import from myfile.del of del
      modified by coldel;
      messages msgs.txt insert into staff
decplusblank 正符号文字。正の 10 進値の接頭部として、正符号 (+) ではなくブランク・スペースを使用します。 デフォルトのアクションでは、正の 10 進数の前に正符号 (+) が付けられます。
decptx x は、小数点文字としてピリオドの代わりに使用される単一文字です。 デフォルト値はピリオド (.) です。指定した文字は、小数点文字としてピリオドの代わりに使用されます。34
以下の例では、decpt; が指定されており、 インポート・ユーティリティーは検出するすべてのセミコロン (;) を小数点として解釈します。
   db2 "import from myfile.del of del
      modified by chardel''
      decpt; messages msgs.txt insert into staff"
delprioritychar 区切り文字の現在のデフォルト優先順位は、(1) レコード区切り文字、(2) 区切り文字、(3) 列区切り文字です。 この修飾子を使用すると、区切り文字の優先順位が (1) 区切り文字、(2) レコード区切り文字、(3) 列区切り文字に戻り、 以前の優先順位に依存している既存のアプリケーションが保護されます。 構文は以下のとおりです。
   db2 import ... 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> によって区切られます。

keepblanks タイプが CHAR、VARCHAR、LONG VARCHAR、または CLOB の各フィールドの前後のブランクを保持します。 このオプションを指定しないと、区切り文字で囲まれていないすべての前後のブランクは除去され、 表のすべてのブランク・フィールドに NULL が挿入されます。
nochardel インポート・ユーティリティーは、列区切り文字の間にあるすべてのバイトを列のデータの一部であると見なします。 文字区切り文字は、列データの一部として構文解析されます。 データが DB2 を使用してエクスポートされている場合は、このオプションを指定しないでください (エクスポート時に nochardel が指定されない限り)。 これは、区切り文字を持たないベンダー・データ・ファイルをサポートするために用意されています。 不適切に使用すると、データが損失または破壊される場合があります。

このオプションを chardelxdelprioritychar または nodoubledel と一緒に指定することはできません。 これらは、相互に排他的なオプションです。

nodoubledel 二重文字区切りの認識を抑止します。
表 5. インポート・ユーティリティーで有効なファイル・タイプ修飾子: IXF ファイル・フォーマット
修飾子 説明
forcein コード・ページが不一致でもデータを受け入れ、コード・ページ間の変換を抑止するようにユーティリティーに指示します。

固定長ターゲット・フィールドに、 そのデータが入るだけの十分な大きさがあるかどうかがチェックされます。 nochecklengths が指定されていると、 チェックは実行されず、各行のインポートが試行されます。

indexixf 既存の表に現在定義されている索引をすべてドロップし、 PC/IXF ファイルの索引定義に基づいて新しい索引を作成するようにユーティリティーに指示します。 このオプションを使用できるのは、表の内容を置換する場合だけです。 ビューでは使用できません。 また、insert-column が指定されている場合にも使用できません。
indexschema=schema 指定した schema を、索引作成時の索引名として使用します。 schema を指定しなかった場合 (しかしキーワード indexschema は指定した 場合) には、接続ユーザー ID が使用されます。このキーワードを指定しない場合、IXF ファイルのスキーマが使用されます。
nochecklengths nochecklengths が指定されていると、 ソース・データの列定義がターゲット表の列のサイズを超えるものであっても、 各行のインポートが試行されます。 このような行が正常にインポートされるのは、 コード・ページ変換でソース・データが縮小する場合です。 例えば、 ソースにある 4 バイトの EUC データがターゲットで 2 バイトの DBCS データに縮小すれば、 必要スペースは半分になります。 このオプションが特に役立つのは、列の定義は不一致であるがソース・データが常に適合することが分かっている場合です。
forcecreate インポート操作中に SQL3311N が戻された後、欠落している可能性のある、または限られた情報で表が作成されることを指定します。
表 6. codepage および usegraphiccodepage 使用時の IMPORT 動作
codepage=N usegraphiccodepage IMPORT 動作
なし なし ファイル内のすべてのデータは、アプリケーション・コード・ページであると見なされます。
あり なし ファイル内のすべてのデータは、コード・ページ N であると見なされます。

警告: N が 1 バイト・コード・ページの場合、GRAPHIC データをデータベースにインポートすると、壊れます。

なし あり ファイル内の文字データは、アプリケーション・コード・ページであると見なされます。 GRAPHIC データは、アプリケーション GRAPHIC データのコード・ページであると見なされます。

アプリケーション・コード・ページが 1 バイトの場合は、すべてのデータはアプリケーション・コード・ページであると見なされます。

警告: アプリケーション・コード・ページが 1 バイトの場合、 GRAPHIC データは、データベースにたとえ GRAPHIC 列が収められていても、 データベースにインポートされると壊れます。

あり あり 文字データは、コード・ページ N であると見なされます。 GRAPHIC データは、N の GRAPHIC コード・ページであると見なされます。

N が 1 バイトまたは 2 バイト・コード・ページの場合は、 すべてのデータは、コード・ページ N であると見なされます。

警告: N が 1 バイト・コード・ページの場合、GRAPHIC データをデータベースにインポートすると、壊れます。

注:
  1. サポートされていないファイル・タイプを MODIFIED BY オプションで使用しようとしても、インポート・ユーティリティーは警告を出しません。 この場合、インポート操作が失敗し、エラー・コードが戻されます。
  2. 日付形式ストリングは必ず二重引用符で囲まなければなりません。 フィールド区切り文字には、 a から z、A から Z、および 0 から 9 を使用することはできません。 フィールド区切り文字として、DEL ファイル・フォーマットの文字区切りやフィールド区切りと同じ文字を使用することはできません。エレメントの開始および終了位置が明らかな場合、 フィールド区切り文字は任意指定です。 あいまいさが生じうるのは、 項目の長さが一定でない D、H、M、または S などのエレメントが使用されている場合です (修飾の仕方によって異なります)。
    タイム・スタンプ・フォーマットの場合、 月の記述子と分の記述子のどちらも文字 M を使用するため、 区別があいまいにならないように注意する必要があります。 月のフィールドは、他の日付フィールドと隣接していなければなりません。 分フィールドは、他の時刻フィールドに隣接していなければなりません。 あいまいなタイム・スタンプ形式の例を以下に示します。
       "M" (could be a month, or a minute)
       "M:M" (Which is which?)
       "M:YYYY:M" (Both are interpreted as month.)
       "S:M:YYYY" (adjacent to both a time value and a date value)
    あいまいな場合、ユーティリティーはエラー・メッセージを報告し、操作は失敗します。
    以下に、明確なタイム・スタンプ・フォーマットを示します。
       "M:YYYY" (Month)
       "S:M" (Minute)
       "M:YYYY:S:M" (Month....Minute)
       "M:H:YYYY:M:D" (Minute....Month)

    二重引用符や円記号などの文字の前には、エスケープ文字 (例えば、¥) を付けなければなりません。

  3. chardel、coldel、または decpt ファイル・タイプ修飾子に提供される文字値は、ソース・データのコード・ページで指定する必要があります。
    文字コード・ポイント (文字記号ではない) は、xJJ または 0xJJ という構文で指定することができます (JJ はコード・ポイントの 16 進表記)。 例えば、列区切りとして # 文字を指定するには、以下のステートメントのいずれかを使用します。
       ... modified by coldel# ...
       ... modified by coldel0x23 ...
       ... modified by coldelX23 ...
  4. データ移動のための区切り文字の制約事項に、区切り文字の指定変更として使用できる文字に適用される制限のリストが示されています。
  5. 以下のファイル・タイプ修飾子は、ニックネームにインポートするときには使用できません。
    • indexixf
    • indexschema
    • dldelfiletype
    • nodefaults
    • usedefaults
    • no_type_idfiletype
    • generatedignore
    • generatedmissing
    • identityignore
    • identitymissing
    • lobsinfile
  6. CREATE モードは、XML 列ではサポートされません。
  7. すべての XML データは、メイン・データ・ファイルとは別の XML ファイル内に存在する必要があります。 XML Data Specifier (XDS) (または NULL 値) が、メイン・データ・ファイル内の XML 列ごとに存在する必要があります。
  8. XMLCHAR または XMLGRAPHIC ファイル・タイプ修飾子が指定されていなければ、 XML 文書は Unicode 形式であるか、またはエンコード属性のある宣言タグを含むと想定されます。
  9. 整形式でない文書が含まれている行はリジェクトされます。
  10. XMLVALIDATE オプションが指定されている場合、対応するスキーマに対して正常に妥当性検査された文書は、挿入される際にスキーマ情報がアノテーションとして付加されます。対応するスキーマに対する妥当性検査が失敗した文書を含む行は、リジェクトされます。 妥当性検査を正常に行うためには、インポートを起動するユーザーの保持する特権に、 次の 1 つ以上が含まれている必要があります。
    • DBADM 権限
    • 妥当性検査に使用する XML スキーマに対する USAGE 特権
  11. ignoreincludemissingoverride が接尾部に付された複数の修飾子が指定されると、それらの修飾子はリストされた順に適用されます。 以下のステートメントの場合、入力データに ID 列ではない暗黙的な非表示列のデータが含まれます。 一方、暗黙的に非表示かどうかに関係なく、ID 列のデータは含まれません。
    db2 import from delfile1 of del modified by 
       implicitlyhiddeninclude identitymissing insert into table1 
    しかし、以下のステートメントにおいてファイル・タイプ修飾子の順序を変更すると、入力データにすべての暗黙的な非表示列のデータ (非表示の ID 列も含む) が含まれることになります。 一方、暗黙的に非表示でない ID 列のデータは含まれません。
    db2 import from delfile1 of del modified by 
       identitymissing implicitlyhiddeninclude insert into table1 
    DB2_DMU_DEFAULT レジストリー変数が IMPLICITLYHIDDENINCLUDE に設定されている場合:
    db2set DB2_DMU_DEFAULT=IMPLICITLYHIDDENINCLUDE
    db2 import from delfile1 of del modified by identitymissing insert into table1
    これは、以下と同じ意味になります。
    db2 import from delfile1 of del modified by 
       implicitlyhiddeninclude identitymissing insert into table1