データベースから、いくつかある外部ファイル形式のいずれかにデータをエクスポートします。 ユーザーは、SQL SELECT ステートメントによって、 または型付き表の階層情報によってエクスポートするデータを指定します。
エクスポート・ユーティリティー用のファイル・タイプ修飾子へのクイック・リンク。
データベース。 暗黙接続が可能な場合には、デフォルト・データベースへの接続が確立されます。 Linux、UNIX、または Windows クライアントから Linux、UNIX、または Windows データベース・サーバーへのユーティリティー・アクセスは、DB2 Connect™ ゲートウェイまたはループバック環境を経由してではなく、エンジンを使用した直接接続でなければなりません。
>>-EXPORT TO--filename--OF--filetype----------------------------> >--+-----------------------+--+-----------------------+---------> | .-,--------. | | .-,--------. | | V | | | V | | '-LOBS TO----lob-path-+-' '-LOBFILE----filename-+-' >--+----------------------+--+-----------------------+----------> | .-,--------. | | .-,--------. | | V | | | V | | '-XML TO----xml-path-+-' '-XMLFILE----filename-+-' >--+-------------------------------+--+---------------+---------> | .--------------. | '-XMLSAVESCHEMA-' | V | | '-MODIFIED BY----filetype-mod-+-' >--+---------------------------------+--------------------------> | .-,-----------. | | V | | '-METHOD N--(----column-name-+--)-' >--+------------------------+-----------------------------------> '-MESSAGES--message-file-' >--+-select-statement---------------------------------------+-->< +-XQUERY--xquery-statement-------------------------------+ '-HIERARCHY--+-STARTING--sub-table-name-+--+-----------+-' '-| traversal-order-list |-' | .-------. | | V | | '---WHERE-+-' traversal-order-list .-,--------------. V | |--(----sub-table-name-+--)-------------------------------------|
エクスポート操作中に LOB ファイルを作成するときに、まずこのリストから現行パス (lob-path で指定されたパス) に現行のベース名を追加してから、最初に 3 桁のシーケンス番号、次に 3 文字の ID lob を追加して、ファイル名が構成されます。 例えば、現行 LOB パスがディレクトリー /u/foo/lob/path/ で、 現行 LOB ファイル名が bar の場合、 LOB ファイルは、 /u/foo/lob/path/bar.001.lob、 /u/foo/lob/path/bar.002.lob (以下 003、004 と続く) などのように作成されます。 LOB ファイル名の 3 桁のシーケンス番号で 999 が使用されてしまうとこの番号は 4 桁に増え、また、9999 が使用されてしまうと 4 桁が 5 桁に増えます。以下同様にシーケンス番号の桁数が増えていきます。
既に存在するファイルの名前を指定した場合、 エクスポート・ユーティリティーはファイルの内容を上書きします。 つまり情報は追加されません。
エクスポート操作中に XML ファイルを作成するときに、まずこのリストから現行パス (xml-path で指定されたパス) に現行のベース名を追加し、それに 3 桁のシーケンス番号を追加し、さらに 3 文字の ID xml を追加したファイル名が構成されます。 例えば、現行 XML パスがディレクトリー /u/foo/xml/path/ で、現行 XML ファイル名が bar の場合、XML ファイルは、/u/foo/xml/path/bar.001.xml、/u/foo/xml/path/bar.002.xml などのように作成されます。
SQL ID のスキーマと名前の各部分は、XML スキーマに対応する SYSCAT.XSROBJECTS カタログ表の行の "OBJECTSCHEMA" および "OBJECTNAME" の値として格納されます。
XMLSAVESCHEMA オプションには、整形式 XML 文書を生成しない XQuery シーケンスとの互換性がありません。
db2 export to myfile.ixf of ixf messages msgs.txt select * from staff
db2 export to awards.ixf of ixf messages msgs.txt select * from staff
where dept = 20
db2 export to myfile.del of del lobs to mylobs/
lobfile lobs1, lobs2 modified by lobsinfile
select * from emp_photo
db2 export to myfile.del of del
lobs to /db2exp1/, /db2exp2/ modified by lobsinfile
select * from emp_photo
db2 export to myfile.del of del
modified by chardel'' coldel; decpt,
select * from staff
db2 select col2 from tab1 where char(col2)='05/10/2005';
COL2
----------
05/10/2005
05/10/2005
05/10/2005
3 record(s) selected.
しかし、同じ select 節を使用した export コマンドでは、期待される結果が戻されません。
db2 export to test.del of del select col2 from test
where char(col2)='05/10/2005';
Number of rows exported: 0
ここで、LOCALE 日付形式を ISO 形式に置き換えると、以下のように、期待される結果になります。
db2 export to test.del of del select col2 from test
where char(col2)='2005-05-10';
Number of rows exported: 3
修飾子 | 説明 |
---|---|
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 バイト長です。 EXPORT の使用時に lobsinfile 修飾子を指定した場合、LOB データは LOBS TO 節に指定されたロケーションに置かれます。 指定しない場合、 LOB データはデータ・ファイル・ディレクトリーに送られます。 LOBS TO 節は、LOB ファイルが保管されるディレクトリーへのパスを 1 つ以上指定します。 LOB パスごとに少なくとも 1 つのファイルが存在し、 各ファイルには少なくとも 1 つの LOB が入ります。 LOBS TO または LOBFILE オプションによって、LOBSINFILE 動作が暗黙的にアクティブ化されます。 NULL LOB を指定するには、サイズに -1 と入力します。 サイズを 0 と指定すると、長さが 0 の LOB として扱われます。 長さが -1 の NULL LOB の場合、オフセットとファイル名は無視されます。 例えば、NULL LOB の LLS は、db2exp.001.7.-1/ のようになります。 |
xmlinsepfiles | 各 XQuery データ・モデル (XDM) インスタンスが別のファイルに書き込まれます。 デフォルトでは、同じファイルの中で複数の値が連結されます。 |
lobsinsepfiles | 各 LOB 値が別のファイルに書き込まれます。 デフォルトでは、同じファイルの中で複数の値が連結されます。 |
xmlnodeclaration | XDM インスタンスが XML 宣言タグなしで書き込まれます。デフォルトでは、XDM インスタンスのエクスポート時に、エンコード属性を指定した XML 宣言タグが先頭に組み込まれます。 |
xmlchar | XDM インスタンスが文字コード・ページで書き込まれます。文字コード・ページは codepage ファイル・タイプ修飾子で指定されている値であるか、 または指定がない場合はアプリケーションのコード・ページであることに注意してください。 デフォルトでは、XDM インスタンスは、Unicode で書き込まれます。 |
xmlgraphic | EXPORT コマンドで xmlgraphic 修飾子を指定すると、アプリケーション・コード・ページまたは codepage ファイル・タイプ修飾子にかかわりなく、エクスポート XML 文書は、UTF-16 コード・ページでエンコードされます。 |
修飾子 | 説明 |
---|---|
chardelx | x は単一文字のストリング区切り文字です。
デフォルト値は、二重引用符 (") です。文字ストリングを囲む二重引用符の代わりに指定の文字を使用します。2 文字ストリング区切りとして二重引用符を明示的に指定する場合は、以下のように指定します。
以下のように、文字ストリング区切りとして単一引用符 (') を指定することもできます。
|
codepage=x | x は、ASCII 文字ストリングです。この値は、出力データ・セットに含まれているデータのコード・ページとして解釈されます。エクスポート操作の実行中に、文字データは、アプリケーション・コード・ページからこのコード・ページに変換されます。 DBCS のみ (GRAPHIC)、混合 DBCS、および EUC の場合、 区切り文字の範囲は x00 から x3F に制限されます。 |
coldelx | x は単一文字の列区切り文字です。
デフォルト値はコンマ (,) です。
列の終わりを示すコンマの代わりに指定の文字を使用します。2 以下の例では coldel; を指定しているので、エクスポート・ユーティリティーは、セミコロン文字 (;) をエクスポート・データの列区切りとして使用します。
|
decplusblank | 正符号文字。正の 10 進値の接頭部として、正符号 (+) ではなくブランク・スペースを使用します。 デフォルトのアクションでは、正の 10 進数の前に正符号 (+) が付けられます。 |
decptx | x は、小数点文字としてピリオドの代わりに使用される単一文字です。 デフォルト値はピリオド (.) です。小数点文字として、ピリオドの代わりに指定の文字を使用します。2 |
nochardel | 列データが文字区切りで囲まれなくなります。DB2 を使用してデータのインポートまたはロードを実行する場合は、このオプションを指定しないでください。これは、区切り文字を持たないベンダー・データ・ファイルをサポートするために用意されています。
不適切に使用すると、データが損失または破壊される場合があります。
このオプションを chardelx または nodoubledel と一緒に指定することはできません。 これらは、相互に排他的なオプションです。 |
nodoubledel | 二重文字区切りの認識を抑止します。2 |
striplzeros | エクスポートするすべての 10 進数列から先行ゼロを除去します。 以下の例について考慮します。
最初のエクスポート操作では、エクスポート・ファイル・データの内容が +00000000000000000000000000001.10 になります。
2 番目の操作は、striplzeros 修飾子以外は最初の操作と同じですが、この場合は、エクスポート・ファイル・データの内容が +1.10 になります。 |
timestampformat="x" | x は、ソース・ファイルのタイム・スタンプの形式です。4 有効なタイム・スタンプ・エレメントは、以下のとおりです。
タイム・スタンプ・フォーマットの例を以下に示します。
MMM エレメントは、以下の値を生成します。 「Jan」、「Feb」、「Mar」、「Apr」、「May」、「Jun」、「Jul」、 「Aug」、「Sep」、「Oct」、「Nov」、および「Dec」。 「Jan」は 1 月と等しく、「Dec」は 12 月と等しいです。 以下の例は、「schedule」という表から、ユーザー定義のタイム・スタンプ・フォーマットを示すデータをエクスポートする方法を示しています。
|
修飾子 | 説明 |
---|---|
codepage=x | x は、ASCII 文字ストリングです。この値は、出力データ・セットに含まれているデータのコード・ページとして解釈されます。エクスポート操作中に、文字データをこのコード・ページからアプリケーション・コード・ページに変換します。
DBCS のみ (GRAPHIC)、混合 DBCS、および EUC の場合、 区切り文字の範囲は x00 から x3F に制限されます。 |
修飾子 | 説明 |
---|---|
1 | Lotus 1-2-3 リリース 1、または Lotus 1-2-3 リリース 1a との互換がある WSF ファイルを作成します。5この値がデフォルトです。 |
2 | Lotus Symphony リリース 1.0 と互換性のある WSF ファイルを作成します。5 |
3 | Lotus 1-2-3 バージョン 2、または Lotus Symphony リリース 1.1 との互換がある WSF ファイルを作成します。5 |
4 | DBCS 文字が含まれている WSF ファイルを作成します。 |
"M" (月または分のどちらにもとれる)
"M:M" (月と分の区別がつかない)
"M:YYYY:M" (両方とも月と解釈される)
"S:M:YYYY" (時刻値と日付値の両方に隣接している)
あいまいな場合、ユーティリティーはエラー・メッセージを報告し、操作は失敗します。
"M:YYYY" (M (月))
"S:M" (M (分))
"M:YYYY:S:M" (M (月)....M (分))
"M:H:YYYY:M:D" (M (分)....M (月))
/mypath/myfile.del
の場合、XML データおよび LOB データのデフォルト・パスは
/mypath"
となり、デフォルトの XML ファイルのベース名は
myfile.del
となり、デフォルトの LOB ファイルのベース名は
myfile.del
LOB ファイルを生成するには、LOBSINFILE ファイル・タイプ修飾子が指定されている必要があります。
.001
から始まります。
999 番目の LOB ファイルまたは XML ファイルの後には、
ID に 0 が埋め込まれることはなくなります (例えば、1000 番目の LOG ファイルまたは XML ファイルの拡張子は .1000
となります。
数値 ID の後に、データ・タイプを表す次のどちらかの 3 文字のタイプ ID が続きます。.lob
または
.xml
例えば、生成される LOB ファイルの名前は myfile.del.001.lob
の形式となり、
生成される XML ファイルの名前は myfile.del.001.xml
の形式となります。