コマンド解説書

EXPORT

データベースから、いくつかある外部ファイル形式のどれかにデータをエクスポートします。 ユーザーは、SQL SELECT ステートメントを提供するか、 タイプ表の階層情報を提供して、エクスポートするデータを指定します。

許可

以下のどれかが必要です。

または、関係する各表または視点に対する CONTROL または SELECT 特権

必須接続

データベース。 暗黙接続が可能な場合には、省略時データベースへの接続が確立されます。

コマンド構文

>>-EXPORT TO--filename--OF--filetype---------------------------->
 
>-----+---------------------------+----------------------------->
      |          .-,-----------.  |
      |          V             |  |
      '-LOBS TO-----lob-path---+--'
 
>-----+---------------------------+----------------------------->
      |          .-,-----------.  |
      |          V             |  |
      '-LOBFILE-----filename---+--'
 
>-----+-----------------------------------+--------------------->
      |              .-----------------.  |
      |              V                 |  |
      '-MODIFIED BY-----filetype-mod---+--'
 
>-----+--------------------------------------+------------------>
      |              .-,--------------.      |
      |              V                |      |
      '-METHOD N--(-----column-name---+---)--'
 
>-----+-------------------------+------------------------------->
      '-MESSAGES--message-file--'
 
>-----+-select-statement---------------------------------------------+>
      '-HIERARCHY--+-STARTING--sub-table-name--+---+---------------+-'
                   '-| traversal-order-list |--'   '-where-clause--'
 
>--------------------------------------------------------------><
 
traversal-order-list
 
       .-,-----------------.
       V                   |
|---(-----sub-table-name---+---)--------------------------------|
 

コマンド・パラメーター

HIERARCHY traversal-order-list
指定した走査順序を使用して副階層をエクスポートします。 すべての副表は、PRE-ORDER 方式でリストされていなければなりません。 最初の副表名が、SELECT ステートメントのターゲット表名として使用されます。

HIERARCHY STARTING sub-table-name
省略時の走査順序 (ASC、DEL、または WSF ファイルの OUTER 順序、 または PC/IXF データ・ファイルに保管されている順序) を使用して、 sub-table-name から始まる副階層をエクスポートします。

LOBFILE filename
LOB ファイルに 1 つ以上の基本ファイル名を指定します。 最初の名前の名前スペースがいっぱいになると、2 番目の名前が使用され、 以下 3 番目、4 番目と続きます。

エクスポート操作中に LOB ファイルを作成すると、まずこのリストから現行パス
(lob-path で指定されたパス) に現行の基本ファイル名を追加し、 それに 3 桁の順序番号を追加したファイル名が構成されます。 現行 LOB パスがディレクトリー /u/foo/lob/path で、 現行 LOB ファイル名が bar の場合、LOB ファイルは、 /u/foo/lob/path/bar.001/u/foo/lob/path/bar.002 (以下 003、004 と続く) といった名前と順序で作成されます。

LOBS TO lob-path
LOB ファイルが保管される、ディレクトリーへの 1 つ以上のパスを指定します。 最初のパスのファイル・スペースがいっぱいになると、2 番目のパスが使用され、 以下 3 番目、4 番目と続きます。

MESSAGES message-file
エクスポート操作中に生じ得る警告およびエラー・メッセージの宛先を指定します。 宛先ファイルがすでに存在している場合、エクスポート・ユーティリティーは情報を追加します。 message-file を省略すると、メッセージは標準出力に書き込まれます。

METHOD N column-name
出力ファイルで使用される 1 つ以上の列名を指定します。 このパラメーターが指定されない場合、表の列名が使用されます。 このパラメーターは WSF および IXF ファイルでのみ有効ですが、 階層データをエクスポートするときは無効です。

MODIFIED BY filetype-mod
追加オプションを指定します (表 5 を参照)。

OF filetype
次のような出力ファイルのデータ形式を指定します。

ファイル形式の詳細については、データ移動ユーティリティー 手引きおよび解説書 の付録『Export/Import/Load ユーティリティー・ファイル形式』を参照してください。

select-statement
エクスポートされるデータを戻す SELECT ステートメントを指定します。 SELECT ステートメントによってエラーが発生する場合、 メッセージ・ファイル (または標準出力) にメッセージが書き込まれます。 エラー・コードが SQL0012W、SQL0347W、SQL0360W、SQL0437W、 または SQL1824W である場合、エクスポート操作は続行します。 これ以外のエラー・コードの場合、操作は停止します。

TO filename
データのエクスポート先のファイルの名前を指定します。 このファイルへの完全パスが指定されていない場合、 エクスポート・ユーティリティーは現行のディレクトリーおよび省略時のドライブを宛先として使用します。

すでに存在するファイルの名前を指定した場合、 エクスポート・ユーティリティーはファイルの内容を上書きします。 情報の追加は行いません。

次に示すのは、SAMPLE データベース (このデータベースにユーザーは接続している必要がある) にある STAFF 表から、 myfile.ixf に IXF 形式の出力で情報をエクスポートする方法の一例です。 データベース接続が DB2 コネクトを介していない場合、 索引定義 (もしあれば) は出力ファイルに保管されます。 そうでない場合、データのみが保管されます。

   db2 export to myfile.ixf of ixf messages msgs.txt select * from staff

次に示すのは、SAMPLE データベースの STAFF 表 (ユーザーが接続している必要がある) から部門 20 の従業員に関する情報を、 awards.ixf に IXF 形式の出力でエクスポートする方法の一例です。

   db2 export to awards.ixf of ixf messages msgs.txt select * from staff
      where dept = 20

次に示すのは、LOB を DEL ファイルにエクスポートする方法の一例です。

   db2 export to myfile.del of del lobs to mylobs
      lobfile lobs1, lobs2 modified by lobsinfile
      select * from emp_photo

次の例は、LOB を DEL ファイルにエクスポートし、 最初のディレクトリーに適合しないファイルに 2 番目のディレクトリーを指定する方法を示します。

   db2 export to myfile.del of del
      lobs to /db2exp1, /db2exp2 modified by lobsinfile
      select * from emp_photo

次の例は、単一引用符をストリング区切り文字、 セミコロンを列区切り文字、コンマを小数点として使用して、 データを DEL ファイルにエクスポートする方法を示します。 データをデータベースにインポートし直す場合にも同じ規則を使用するべきです。

   db2 export to myfile.del of del
      modified by chardel'' coldel; decpt,
      select * from staff

使用上の注意

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

SELECT ステートメントでは表の別名を使用できます。

メッセージ・ファイルに置かれるメッセージには、 メッセージ検索サービスから戻される情報が含まれています。 各メッセージは改行してから始まります。

DEL 形式ファイルへエクスポートするために 254 よりも長い文字データの列が選択されると、 エクスポート・ユーティリティーは警告メッセージを生成します。

PC/IXF インポートはデータベース間でデータを移動する場合に使用します。 行区切り文字を含む文字データを区切り文字付き ASCII (DEL) ファイルにエクスポートし、 テキスト転送プログラムにより処理を行うと (たとえば、OS/2 と AIX システム間で移動する)、 行区切り文字を含むフィールドは長さが伸縮します。

PC/IXF ファイル形式の指定では、OS/2 (IBM OS/2 拡張サービス、OS/2 拡張エディション、 および DB2 (OS/2 版)) のデータベースと、DB2 (AIX 版) のデータベースの間で、 エクスポート (OS/2 と AIX の間でファイルをバイナリー・コピー) とインポートによってデータを移行することが可能です。 ソースと宛先のデータベースが両方とも同じクライアントからアクセス可能である場合、 ファイルのコピーというステップは必要ありません。

DB2 コネクトは、DB2 (OS/390 版)、DB2 (VM および VSE 版)、 および DB2 (OS/400 版) などの DRDA サーバーから表をエクスポートするために使用できます。 PC/IXF エクスポートだけがサポートされています。

エクスポート・ユーティリティーは、AIX システムから呼び出される場合、 複数部分からなる PC/IXF ファイルを作成しません。

エクスポート・ユーティリティーは、提供される SELECT ステートメントが、 SELECT * FROM tablename という形式である場合、 IXF ファイルの表の NOT NULL WITH DEFAULT 属性を保管します。

タイプ表をエクスポートする場合、副選択ステートメントは、 ターゲット表名と WHERE 文節を指定することによってのみ表現することができます。 階層をエクスポートするとき、全選択と選択ステートメント は指定できません。

IXF 以外のファイル形式の場合は、走査順序リストを指定するようお勧めします。 このリストは、階層を走査する方法やエクスポートする副表を DB2 に指示します。 このリストを指定しない場合、階層内のすべての表がエクスポートされ、 省略時の順序は OUTER 順序になります。 または、OUTER 関数によって指定される順序である、省略時の順序を使用することができます。
注:インポート操作の間も同じ走査順序を使用します。 ロード・ユーティリティーは、階層や副階層のロードをサポートしていません。

DB2 データ・リンク・マネージャーに関する考慮事項

表と、DATALINK 列が参照する対応ファイルの整合性の取れたコピーがエクスポートでコピーされるよう保証するには、 以下のようにします。

  1. コマンド QUIESCE TABLESPACES FOR TABLE tablename SHARE を発行します。

    これにより、EXPORT の実行時に進行中の更新トランザクションがないことが保証されます。

  2. EXPORT コマンドを発行します。
  3. 各データ・リンク・サーバーで dlfm_export ユーティリティーを実行します。 dlfm_export への入力は、 エクスポート・ユーティリティーで生成される制御ファイル名です。 これにより、制御ファイル内にリストされるファイルの tar (または同等の) アーカイブが作成されます。
  4. コマンド QUIESCE TABLESPACES FOR TABLE tablename RESET を発行します。

    これにより、表は更新に使用できるようになります。

EXPORT は SQL アプリケーションとして実行されます。 SELECT ステートメントを満たす行と列がデータベースから抽出されます。 DATALINK 列の場合、SELECT ステートメントはスカラー関数を指定できません。

EXPORT が正常に実行されると、以下のファイルが生成されます。

ファイルをデータ・リンク・サーバーからエクスポートするため、 dlfm_export ユーティリティーが提供されています。 このユーティリティーは、宛先データ・リンク・サーバーにファイルを復元するのに使用できる、 アーカイブ・ファイルを生成します。

表 5. 有効なファイル・タイプ修飾子 (エクスポート)
修飾子 説明
すべてのファイル形式
lobsinfile lob-path には、LOB 値を含むファイルへのパスを指定します。
DEL (区切り付き ASCII) ファイル形式
chardelx x は単一文字ストリング区切り文字です。 省略時値は二重引用符 (") です。 指定した文字は二重引用符の代わりに、 文字ストリングを囲むために使用されます。a

単一引用符 (') も次のように文字ストリング区切り文字として指定できます。

      modified by chardel''
coldelx x は単一文字列区切り文字です。 省略時値はコンマ (,) です。 指定した文字はコンマの代わりに、列の終わりを表すために使用されます。a

次の例では、coldel; によってエクスポート・ユーティリティーは、 すべてのセミコロン (;) を列区切り文字として解釈します。

   db2 "export to temp of del modified by coldel;
      select * from staff where dept = 20"
datesiso 日付形式。 これによって、すべての日付データ値は ISO 形式 ("YYYY-MM-DD") でエクスポートされます。b
decplusblank 正符号文字。 これによって正の 10 進値の先頭に正符号 (+) ではなく、ブランク・スペースが置かれます。 省略時のアクションでは、正の 10 進数の前に正符号 (+) が付けられます。
decptx x は、小数点としてピリオドと置換される単一文字です。 省略時値はピリオド (.) です。 指定した文字はピリオドの代わりに、 小数点文字として使用されます。a
dldelx x は単一文字の DATALINK 区切り文字です。 省略時値はセミコロン (;) です。 指定した文字はセミコロンの代わりに、DATALINK 値のフィールド間区切り文字として使用されます。 DATALINK 値には副値が複数個含まれる場合があるため、これが必要になります。 a

注:行、列、 または文字ストリング区切り文字と同じ文字を x に指定することはできません。

nodoubledel 二重文字区切り文字の認識を抑止します。 詳細については、区切り文字の制限を参照してください。
WSF ファイル形式
1 ロータス 1-2-3 リリース 1、または ロータス 1-2-3 リリース 1a と互換性のある WSF ファイルを作成します。c これが省略時値です。
2 Lotus Symphony リリース 1.0 と互換性のある WSF ファイルを作成します。 c
3 ロータス 1-2-3 バージョン 2、または Lotus Symphony リリース 1.1 と互換性のある WSF ファイルを作成します。c
4 DBCS 文字を含む WSF ファイルを作成します。

注:

  1. MODIFIED BY オプションでサポートされていないファイル・タイプが指定されても、 エクスポート・ユーティリティーが警告を発することはありません。 サポートされていないファイル・タイプを使おうとすると、 エクスポート操作は失敗し、エラー・コードが戻されます。

  2. a 区切り文字の制限に、 区切り文字の指定変更として使用できる文字に適用される制限のリストが示されています。

  3. b エクスポート・ユーティリティーは、通常は以下を書き出します。
    • YYYYMMDD 形式の日付データ
    • "YYYY-MM-DD" 形式の char(date) データ
    • "HH.MM.SS" 形式の時間データ
    • "YYYY-MM-DD-HH.MM.SS.uuuuuu" 形式のタイム・スタンプ・データ
    SELECT ステートメントでエクスポート操作のために指定される日時列に含まれるデータも、 これらの形式になります。

  4. c filetype-mod パラメーター・ストリングの中で、 ロータス 1-2-3 の場合は L、Symphony の場合は S を指定することにより、 これらのファイルを特定の製品を指すようにできます。 1 つの値または製品指定文字だけを指定できます。

区切り文字の制限

選択した区切り文字が移動されるデータの一部になっていないことを確認するのは、 ユーザーの責任において行ってください。 区切り文字がデータの一部になっている場合、予期しないエラーが発生する場合があります。 データを移動する際は、以下の制限が列、ストリング、DATALINK、 および小数点区切り文字に適用されます。

DEL ファイルでの二重文字区切り文字の認識サポートに関する以下の情報は、 エクスポート、インポート、およびロード・ユーティリティーに適用されます。

以下も参照

IMPORT

LOAD


[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]