フォーマット

には異なる出力形式を指定できる。 Optim™ High Performance Unload に異なる出力形式を指定できる。

フォーマット
FORMAT オプションを使用して、生成される出力のフォーマットを指定します。 このオプションを指定しない場合は、DEL フォーマットが使用されます。
構文
FORMAT DEL|IXF|DELIMITED|ASC|DSNTIAUL|XML|MIGRATION|JSON|ORC|PARQUET|EXTERNAL
変数
変数値はありません。
デフォルト
DEL
これらのサポートされるフォーマットの中には、 Db2® ロード・ユーティリティー (DEL、IXF、DELIMITED、ASC) の入力としてサポートされるものがあります。 これらのフォーマットのいずれかを指定する場合、 Db2 ロード・ユーティリティーの修飾子に対応するキーワードのリストを指定して、 MODIFIED BY オプションも使用できます。 Db2 Load コマンドを生成する場合、サポートされている修飾子のいずれかを指定すると、このコマンドの内容に対して動作します。 これらの修飾子の一部は、データが出力ファイルに抽出される方法に作用することもあります。
MODIFIED BY オプションのキーワードとしてサポートされていてデータのアンロード方法には影響しない修飾子を以下にリストします。
  • ANYORDER
  • GENERATEDIGNORE
  • GENERATEDMISSING
  • GENERATEDOVERRIDE
  • IDENTITYIGNORE
  • IDENTITYMISSING
  • IDENTITYOVERRIDE
  • IMPLICITLYHIDDENINCLUDE
  • IMPLICITLYHIDDENMISSING
  • NOROWWARNINGS
  • PERIODIGNORE
  • PERIODMISSING
  • PERIODOVERRIDE
  • ROWCHANGETIMESTAMPIGNORE
  • ROWCHANGETIMESTAMPMISSING
  • ROWCHANGETIMESTAMPOVERRIDE
  • TRANSACTIONIDIGNORE
  • TRANSACTIONIDMISSING
  • TRANSACTIONIDOVERRIDE
  • USEDEFAULTS
これらの修飾子の説明については、 Db2 の資料を参照してください。
MODIFIED BY オプションのキーワードとしてサポートされている修飾子を以下にリストします。これらはパラメーターとして値とともに指定する必要があります。
CDEANALYZEFREQUENCY
この修飾子は、アンロードされるデータには影響を与えません。 LOADFILE 節も指定する場合、生成される Db2 Load コマンドの MODIFIED BY オプションには CDEANALYZEFREQUENCY 修飾子が含まれます。 これは、0 から 99 までの範囲にある数値とともに指定する必要があります。 例:
CDEANALYZEFREQUENCY 15
INDEXFREESPACE
この修飾子は、アンロードされるデータには影響を与えません。 LOADFILE 節も指定する場合、生成される Db2 Load コマンドの MODIFIED BY オプションには INDEXFREESPACE 修飾子が含まれます。 これは、0 から 99 までの範囲にある数値とともに指定する必要があります。 例:
INDEXFREESPACE 10
MAXANALYZESIZE
この修飾子は、アンロードされるデータには影響を与えません。 LOADFILE 節も指定する場合、生成される Db2 Load コマンドの MODIFIED BY オプションには MAXANALYZESIZE 修飾子が含まれます。 これは、文字「M」(メガバイト単位) または「G」(ギガバイト単位) を後ろに伴う数値とともに指定する必要があります。 例:
MAXANALYZESIZE 100M
PAGEFREESPACE
この修飾子は、アンロードされるデータには影響を与えません。 LOADFILE 節も指定する場合、生成される Db2 Load コマンドの MODIFIED BY オプションには PAGEFREESPACE 修飾子が含まれます。 これは、0 から 100 までの範囲にある数値とともに指定する必要があります。 例:
PAGEFREESPACE 20
TOTALFREESPACE
この修飾子は、アンロードされるデータには影響を与えません。 LOADFILE 節も指定する場合、生成される Db2 Load コマンドの MODIFIED BY オプションには TOTALFREESPACE 修飾子が含まれます。 0 以上の整数を使用して指定する必要があります。 例:
TOTALFREESPACE 5
MODIFIED BY オプションのキーワードとしてサポートされている修飾子のリストを以下に示します。これらは、セキュリティー・ラベル・データが出力ファイルに抽出される方法に作用します。
SECLABELCHAR
ネイティブ・モードでタスクを実行するとき、セキュリティー・ラベル値を、対応するストリング形式値で置き換えて出力ファイルに入れる場合は、SECLABELCHAR 修飾子を使用します。 Db2 エンジンで処理されるタスクにこの修飾子を使用しても、セキュリティー・ラベル値がアンロードされる方法には影響しません。 LOADFILE 節も指定する場合、生成される Db2 Load コマンドの MODIFIED BY オプションには SECLABELCHAR 修飾子が含まれます。 この修飾子は、SECLABELNAME 修飾子と互換性がありません。 これらを同時に指定すると、2 番目に指定されたものは無視されます。
SECLABELNAME
ネイティブ・モードでタスクを実行するとき、既存のセキュリティー・ラベル値が存在する際に、出力ファイル内の対応するラベル名でセキュリティー・ラベル値を置き換える場合は、SECLABELNAME 修飾子を使用します。 セキュリティー・ラベル値は、この正確な値に対して作成されたラベルに必ずしも対応していません。 この修飾子を使用できるのは、指定されたタスクに関連するすべてのセキュリティー・ラベル値が、対応するラベルを持っている場合のみです。 Db2 エンジンで処理されるタスクにこの修飾子を使用しても、セキュリティー・ラベル値がアンロードされる方法には影響しません。 LOADFILE 節も指定する場合、生成される Db2 Load コマンドの MODIFIED BY オプションには SECLABELNAME 修飾子が含まれます。 この修飾子は、SECLABELCHAR 修飾子と互換性がありません。 これらを同時に指定すると、2 番目に指定されたものは無視されます。
DEL
DEL フォーマットは、 Db2 Export と同じ区切り文字と列区切り文字を使用する区切り付き ASCII フォーマットです。 Db2 Export コマンドの出力について詳しくは、 Db2 の資料を参照してください。 DEL フォーマットをデータ・マイグレーションに使用する場合、以下のオプションを使用できます。
INTO tablename または qualifier.tablename
特定の表をマイグレーションまたはロードし、この表に明示的な SELECT 要求を指定する場合、INTO オプションを使用して表名を指定できます。 ターゲット表の修飾子および名前がソース表の修飾子および名前と異なる場合、INTO オプションを使用して修飾子および名前を指定できます。 Optim High Performance Unload 対応するLOADコマンドのINTO句から、ソーステーブルのテーブル名と修飾子を使用します。
重要: INTO 節を使用して名前を指定しない場合、ソース表の名前がロード・ファイルで使用されます。
MODIFIED BY 修飾子
FORMAT DEL 節の MODIFIED BY オプションを使用すると、関連する Db2 Load コマンドの生成方法に応じて動作する Db2 Load 修飾子を指定できます。 MODIFIED BY には、FORMAT 節の記述の先頭に示される修飾子が 1 つ以上含まれていなければなりません。 MODIFIED BY オプションの後に、希望する修飾子をスペース区切りのリストにして指定することにより、複数の修飾子を設定することができます。 例:
MODIFIED BY IDENTITYIGNORE GENERATEDMISSING ROWCHANGETIMESTAMPOVERRIDE
DELPRIORITYCHAR
DELPRIORITYCHAR 修飾子は、 Db2 Load コマンドで使用される区切り文字の優先順位を、文字区切り文字、レコード区切り文字、列区切り文字に変更するために使用します。 デフォルトの区切り文字優先順位は、レコード区切り文字、桁区切り文字、列区切り文字です。 この修飾子は、アンロード・データには影響を与えません。生成された LOAD コマンドで報告されるだけです。
FASTPARSE
この修飾子は、アンロードされるデータには影響を与えません。 LOADFILE 節も指定する場合、生成される Db2 Load コマンドの MODIFIED BY オプションには FASTPARSE 修飾子が含まれます。
DUMPFILE "ファイル名"
この修飾子は、アンロードされるデータには影響を与えません。 指定する値は絶対パスでなければなりません。 LOADFILE 節も指定する場合、生成される Db2 Load コマンドの MODIFIED BY オプションには DUMPFILE 修飾子が含まれます。
ダンプファイルアクセスオール
この修飾子は、アンロードされるデータには影響を与えません。 LOADFILE 節も指定する場合、生成される Db2 Load コマンドの MODIFIED BY オプションには DUMPFILEACCESSALL 修飾子が含まれます。
IXF
統合交換フォーマット (IXF) が、汎用のリレーショナル・データベース交換フォーマットとして使用されます。 Optim High Performance Unload IXF標準でサポートされているレコード終端デリミタを生成します。 データ・マイグレーションで IXF フォーマットを使用する場合、以下のオプションを使用できます。
INTO tablename または qualifier.tablename
特定の表をマイグレーションまたはロードし、この表に明示的な SELECT 要求を指定する場合、INTO オプションを使用して表名を指定できます。 ターゲット表の修飾子および名前がソース表の修飾子および名前と異なる場合、INTO オプションを使用して修飾子および名前を指定できます。 Optim High Performance Unload 対応するLOADコマンドのINTO句から、ソーステーブルのテーブル名と修飾子を使用します。
重要: INTO 節を使用して名前を指定しない場合、ソース表の名前がロード・ファイルで使用されます。
制約事項: 複数のデータベース・パーティションを持つターゲット Db2 インスタンスにデータをマイグレーションする場合は、IXF 出力フォーマットを使用できません。 Db2 ロード・ユーティリティーを使用して、IXF ファイルから複数パーティション環境にデータをロードすることはできません。 詳しくは、 Db2 Load ユーティリティーの資料を参照してください。
MODIFIED BY 修飾子
FORMAT IXF 節の MODIFIED BY オプションを使用すると、関連する Db2 Load コマンドが生成される方法で動作する Db2 Load 修飾子を指定できます。 MODIFIED BY には、FORMAT 節の記述の先頭に示される修飾子、または以下のリストで示す修飾子が 1 つ以上含まれていなければなりません。 MODIFIED BY オプションの後に、希望する修飾子をスペース区切りのリストにして指定することにより、複数の修飾子を設定することができます。 例:
MODIFIED BY IDENTITYIGNORE GENERATEDMISSING ROWCHANGETIMESTAMPOVERRIDE
FORCEIN
この修飾子は、アンロードされるデータには影響を与えません。 LOADFILE 節も指定する場合、生成される Db2 Load コマンドの MODIFIED BY オプションには FORCEIN 修飾子が含まれます。
NOCHECKLENGTHS
この修飾子は、アンロードされるデータには影響を与えません。 LOADFILE 節も指定する場合、生成される Db2 Load コマンドの MODIFIED BY オプションには NOCHECKLENGTHS 修飾子が含まれます。
DELIMITED
DELIMITED フォーマットでは列区切り記号、列値区切り文字、またはヌル列区切りオプションを指定可能であることを除いて、DELIMITED フォーマットは DEL フォーマットと同じように動作します。 どの区切りフォーマット・オプションにも値を指定しない場合、DELIMITED フォーマットが DEL フォーマットと同じように作用します。 DELIMITED フォーマット・オプションを使用する場合、区切り記号は区切り文字と異なっていなければならず、その長さは 1 バイトを超えてはなりません。 選択した区切り記号および区切り文字は、単一引用符で囲む必要があります。 各オプションの間にスペースを使用することによって、3 つのオプションから 1 つ以上を同時に指定することができます。 delimited_block の値を指定するには、次のような構文を使用します。
DELIMITED INTO tablename|qualifier.tablename 
MODIFIED BY modifiers NULL DELIM NULLVAL "value"
または
DELIMITED INTO tablename|qualifier.tablename SEP|COLDEL 
'char' DELIM|CHARDEL 'char' NULL DELIM NULLVAL "value"
ここで、それぞれ以下のとおりです。
INTO tablename または qualifier.tablename
LOADFILE オプションを使用する場合、INTO ステートメントを使用してターゲット表の名前および修飾子を指定できます。これは、ターゲット表の名前および修飾子がソース表の名前および修飾子と異なる場合に役立ちます。 Optim High Performance Unload 対応するLOADコマンドでは、ソーステーブルのテーブル名と修飾子の代わりに、INTO句のテーブル名と修飾子を使用します。
重要: INTO 節を使用して名前を指定しない場合、ソース表の名前がロード・ファイルで使用されます。
delimited_modifiers によって変更されました
FORMAT DELIMITED 節の 変更者 オプションを使用して、関連する Db2 Load コマンドが生成される方法で動作する Db2 Load 修飾子を指定できます。 また、以下のリストにある修飾子 (データのアンロード方法を記述する) も指定できます。 MODIFIED BY には、FORMAT 節の記述の先頭に示される修飾子、または以下のリストで示す修飾子が 1 つ以上含まれていなければなりません。 MODIFIED BY オプションの後に、修飾子をスペースで区切ったリストにして指定することにより、複数の修飾子を設定することができます。 例:
MODIFIED BY CHARDEL '%' DECPLUSBLANK
ヒント: ロード・ファイルを生成せずに MODIFIED BY オプションを使用して、アンロードされたデータ・フォーマットを変更することができます (ただし、DELPRIORITYCHAR 修飾子は例外で、アンロードされたデータには影響しません)。
以下の修飾子のリストから選択できます。
COLDEL 'char'|x ' XX'
COLDEL 修飾子は、列を分離するために使用する区切り文字を指定するために使用します。 デフォルト値はコンマ文字 (,) です。
CHARDEL 'char'|x ' XX'
CHARDEL 修飾子は、列の値を囲むために使用する区切り文字を指定するために使用します。 デフォルト値は二重引用符文字 (“) です。
DECPT 'char'|x ' XX'
DECPT 修飾子は、10 進データに使用される小数点文字を指定するために使用します。 デフォルト値はピリオド文字 (.) です。 この修飾子は IMPLIEDDECIMAL 修飾子と互換性がありません。
DECPLUSBLANK
DECPLUSBLANK 修飾子は、正符号 (+) の代わりに先行符号としてブランク・スペースを使用して正の 10 進数データをアンロードするかどうかを指定するために使用します。 デフォルトでは、正符号 (+) が使用されます。
NOCHARDEL
列値を区切り文字で囲まない場合は、NOCHARDEL 修飾子を使用します。 NOCHARDEL 修飾子を指定すると、オプション DOUBLE DELIM および DELPRIORITYCHAR は無視されます。
DELPRIORITYCHAR
DELPRIORITYCHAR 修飾子は、 Db2 Load コマンドで使用される区切り文字の優先順位を、文字区切り文字、レコード区切り文字、列区切り文字に変更するために使用します。 デフォルトの区切り文字優先順位は、レコード区切り文字、桁区切り文字、列区切り文字です。 この修飾子は、アンロード・データには影響を与えません。生成された LOAD コマンドで報告されるだけです。
STRIPLZEROS
STRIPLZEROS 修飾子は、先行ゼロなしで 10 進データをアンロードする場合に使用します。 ディスク・スペースを節約する場合、および先行ゼロがあるデータをアンロードする際のパフォーマンスを向上させる場合には、このオプションを使用します。
例えば、以下のコントロールファイルを使用すると、 Optim High Performance Unload+0001000.00 という値を含む出力ファイルが作成されます
GLOBAL CONNECT TO SAMPLE ;
UNLOAD TABLESPACE DB2 NO 
SELECT BONUS FROM EMPLOYEE WHERE BONUS=1000;
OUTFILE("Out")
FORMAT DELIMITED;
FORMAT 節に STRIPLZEROS 修飾子を追加した場合、出力ファイルの値は +1000.00 になります。
FORMAT DELIMITED MODIFIED BY STRIPLZEROS;
KEEPBLANKS
KEEPBLANKS 修飾子は、Db2 Load コマンドを生成するときに使用します。その目的は、区切り文字で囲まれていないストリング前後のブランクを Db2 Load コマンドの実行時に保持することを考慮するためです。 NOCHARDEL 修飾子が指定されていない場合、KEEPBLANKS 修飾子は無視されます。
IMPLIEDDECIMAL
IMPLIEDDECIMAL 修飾子は、小数点を示す文字なしで 10 進タイプのデータをアンロードする場合に使用します。 LOADFILE 節も指定する場合、生成される Db2 Load コマンドの MODIFIED BY オプションには IMPLIEDDECIMAL 修飾子が含まれます。 この修飾子は、DECPT 修飾子と互換性がありません。
USEGRAPHICCODEPAGE
USEGRAPHICCODEPAGE 修飾子は、DBCS コード・ページの 2 バイト・タイプ・データを出力ファイルにアンロードする場合に使用します。 LOADFILE 節も指定する場合、生成される Db2 Load コマンドの MODIFIED BY オプションには USEGRAPHICCODEPAGE 修飾子が含まれます。
FASTPARSE
この修飾子は、アンロードされるデータには影響を与えません。 LOADFILE 節も指定する場合、生成される Db2 Load コマンドの MODIFIED BY オプションには FASTPARSE 修飾子が含まれます。
DUMPFILE "ファイル名"
この修飾子は、アンロードされるデータには影響を与えません。 指定する値は絶対パスでなければなりません。 LOADFILE 節も指定する場合、生成される Db2 Load コマンドの MODIFIED BY オプションには DUMPFILE 修飾子が含まれます。
ダンプファイルアクセスオール
この修飾子は、アンロードされるデータには影響を与えません。 LOADFILE 節も指定する場合、生成される Db2 Load コマンドの MODIFIED BY オプションには DUMPFILEACCESSALL 修飾子が含まれます。
COLDEL、CHARDEL、DECPT の各オプションでは、区切り文字として使用する文字を引用符の間に指定できます。 ただし、これは印刷不能文字には該当しません。 印刷不能文字の場合、「x」文字の後に、引用符で囲まれた 2 つの 16 進数字で表される 16 進値を続けて指定すれば、区切り文字として使用することができます。
SEP 'char'|x 'XX' または COLDEL ' char '|x' XX'
SEP および COLDEL キーワードを使用して、列を区切るための区切り記号 (区切り文字) を指定します。 SEP または COLDEL キーワードと変数 char の間のスペースはオプションです。 DEL フォーマットでは、この文字はコンマ (,) です。 16 進指定では、印刷不能文字を使用することができます。
重要: SEP キーワードと COLDEL キーワードは、以前のバージョンとの互換性のためにのみサポートされています。 新規の FORMAT 節の場合は、代わりに MODIFIED BY 節を使用します。 例えば、 COLDEL '%' の代わりに MODIFIED BY COLDEL '%' を使用します。
DELIM 'char'|x 'XX' または CHARDEL ' char '|x' XX'
DELIM キーワードは、列値を囲むために使用する区切り文字を指定するために使用します。 DELIM キーワードと変数 char の間のスペースはオプションです。 DEL フォーマットでは、区切り文字は二重引用符 (" )。 キーワード CHARDEL は、 DELIM キーワードと同じように使用できます。 印刷不能文字は 16 進指定で使用できます。
重要: CHARDEL および DELIM キーワードは、以前のバージョンとの互換性のためにのみサポートされています。 新規の FORMAT 節の場合は、代わりに MODIFIED BY 節を使用します。 例えば、 CHARDEL '%' の代わりに MODIFIED BY CHARDEL '%' を使用します。
NULL DELIM
NULL DELIM キーワードは、NULL 値を含む列で列値区切り文字を使用しなければならないことを指定するために使用します。 デフォルトでは、NULL 列値は区切り文字で囲まれません。 NULL DELIM キーワードを指定すると、NULL 値を含む列があることを表す 2 つの連続する列区切り文字になります。 NULL DELIM オプションは、囲む形式の区切り文字を必要とする列にのみ適用されます。 これには例えば、文字カラムでは区切り文字を必要とし、整数カラムでは必要としない DEL フォーマットなどがあります。
例えば、デフォルトを列区切り記号 (SEP) および列値区切り文字 (DELIM) に適用する場合には、3 つの列 (INTEGER、NULL 可能 CHARACTER(5)、および INTEGER) を含む表を検討してください。 データ (1,'row1',1) および (2,null,2) を含む列に 2 つの行を配置します。 NULL DELIM オプションを指定せずに DELIMITED フォーマットでこのデータをアンロードする場合、この 2 つの行は以下のようになります。
1,"row1 ",1  and 2,,2
DELIMITED フォーマットを使用してこのデータをアンロードし、かつ NULL DELIM オプションが設定されている場合には、2 つの行は以下のようになります。
1,"row1 ",1  and 2,"",2
NULLVAL
NULLVAL オプションは、NULL 値が検出されたときに出力ファイルに書き込まれる値を指定する場合に使用します。
デフォルトでは、検出された NULL 値を表すために一切何も出力ファイルに書き込まれません。
例えば、次の制御ファイルについて考えてみます。
GLOBAL CONNECT TO SAMPLE;
UNLOAD TABLESPACE
SELECT * FROM TB_NULL;
OUTFILE("outfile")
FORMAT DELIMITED;
この制御ファイルにより、 Optim High Performance Unload 出力ファイルを作成します。その内容は以下の通りです
[i975@lat186(hm510_mnt:) hm500_mnt]$ cat outfile
1,,,
2,2,"",2014-01-01
3,3,"  ",2014-01-01
フォーマット節の指定を FORMAT DELIMITED NULLVAL "NULL" に変更した場合、出力ファイルの内容は次のようになります。
[i975@lat186(hm510_mnt:) hm500_mnt]$ cat outfile
1,NULL,NULL,NULL
2,2,"",2014-01-01
3,3,"  ",2014-01-01
これは、生成された出力ファイルで、NULL 値が特定の値で置き換えられることを示しています。
ASC
ASC フォーマットは、行および列の順に配列された固定長レコードの、区切りなし順次 ASCII ファイルです。 ASC ファイルは LOAD コマンドで使用でき、縦欄形式のデータを持つ ASCII プロダクトとのデータ交換に使用できます。

ASC フォーマットでは、以下のオプションを使用します。

INTO tablename または qualifier.tablename
LOADFILE オプションを使用していて、ターゲット表の名前つまり qualifier.tablename を変更する必要がある場合は、LOAD ファイルで使用する新規名を以下のように指定できます。
FORMAT ASC INTO qualifier.tablename
例:
GLOBAL CONNECT TO SAMPLE; 
UNLOAD TABLESPACE 
FLUSH BUFFERPOOLS NO 
LOCK NO 
SELECT * FROM EMPLOYEE; 
CCSID(930,300) 
OUTFILE("test.out") LOADFILE("test.load") 
FORMAT ASC INTO DBHPU.EMPLOYEE; 
結果として生成されたロード・ファイル (test.load) は、以下のように表示されます。
LOAD FROM test.out OF ASC 
MODIFIED BY STRIPTBLANKS 
METHOD L (1,6,7,18,19,20,34,36, 38, ...108,118) 
NULL INDICATORS(0,0,0,0,35,... 107) 
INSERT INTO TABLE DBHPU.EMPLOYEE 
(EMPNO,FIRSTNME,MIDINT,LASTNAME,WORKDEPT,...) 
重要: INTO 節を使用して名前を指定しない場合、ロード・ファイルではソース表の名前が使用されます。
MODIFIED BY 修飾子
FORMAT ASC 節の MODIFIED BY オプションを使用すると、関連する Db2 Load コマンドが生成される方法で動作する Db2 Load 修飾子を指定できます。 また、以下のリストにある修飾子 (データのアンロード方法を記述する) も指定できます。 MODIFIED BY には、FORMAT 節の記述の先頭に示される修飾子、または以下のリストで示す修飾子が 1 つ以上含まれていなければなりません。 MODIFIED BY オプションの後に、希望する修飾子をスペース区切りのリストにして指定することにより、複数の修飾子を設定することができます。 例:
MODIFIED BY PACKEDDECIMAL STRIPNULLS
ヒント: MODIFIED BY オプションの機能は、アンロードされたデータ・フォーマットを変更するロード・ファイルを生成せずに使用できます。
BINARYNUMERICS
BINARYNUMERICS 修飾子を使用することで、数値データ (INTEGER、DECFLOAT、および実数データ) をバイナリー・フォーマットでアンロードするように指定できます。 使用されるバイナリー表記は常にビッグ・エンディアン ( Db2 Load で予期されるもの) になります。 デフォルトでは、アンロードで数値データに対してバイナリー・フォーマットを使用することはありません。

BINARYNUMERICS オプションを指定した場合に、LOADFILE オプションも選択されていると、ロード・ファイルの MODIFIED BY 節に BINARYNUMERICS が追加されます。

PACKEDDECIMAL
この修飾子は、10 進データ・タイプをパック表記でアンロードする場合に使用します。 これはデフォルトの振る舞いではありません。

PACKEDDECIMAL を指定し、 LOADFILE オプションも選択した場合、ロード・ファイルの MODIFIED BY 節に PACKEDDECIMAL が追加されます。 この修飾子は、IMPLIEDDECIMAL 修飾子および ZONEDDECIMAL 修飾子と互換性がありません。

DECPLUSBLANK
DECPLUSBLANK を使用することにより、正符号 (+) の代わりに先行符号としてブランク・スペースを使用して、正の 10 進数データをアンロードするかどうかを指定できます。 デフォルトでは、正符号 (+) が使用されます。
STRIPTBLANKS または STRIPTNULLS
対応する相互排他の修飾子 STRIPTBLANKS または STRIPTNULLS を使用して、可変サイズの文字カラムのデータがアンロードされる時に、ブランク文字で埋め込むか、ヌル文字で埋め込むかを指定できます。

デフォルトでは、埋め込み文字はブランク (STRIPBLANKS) です。 LOADFILE オプションも選択した場合、ロード・コマンドの MODIFIED BY 節には STRIPTBLANKS または STRIPTNULLS 修飾子のいずれかが組み込まれます。

NULLINDCHAR ‘char’|x’XX’
NULLINDCHAR 修飾子は、出力ファイルへの NULL 値を示す考慮対象の単一文字を指定する場合に使用します。 デフォルト値は「Y」です。 この修飾子を指定すると、古い NULL オプションの潜在的な使用法がオーバーライドされます。また、値が NULL であるかどうかを示す文字も指定できます。
IMPLIEDDECIMAL
IMPLIEDDECIMAL 修飾子は、小数点を示す文字なしで 10 進タイプのデータをアンロードする場合に使用します。 LOADFILE 節も指定する場合、生成される Db2 Load コマンドの MODIFIED BY オプションには IMPLIEDDECIMAL 修飾子が含まれます。 この修飾子は、PACKEDDECIMAL 修飾子および ZONEDDECIMAL 修飾子と互換性がありません。
ZONEDDECIMAL
ZONEDDECIMAL 修飾子は、ゾーン表記の 10 進タイプのデータを出力ファイルにアンロードする場合に使用します。 LOADFILE 節も指定する場合、生成される Db2 Load コマンドの MODIFIED BY オプションには ZONEDDECIMAL 修飾子が含まれます。 この修飾子は PACKEDDECIMAL 修飾子および IMPLIEDDECIMAL 修飾子と互換性がありません。
USEGRAPHICCODEPAGE
USEGRAPHICCODEPAGE 修飾子は、DBCS コード・ページの 2 バイト・タイプ・データを出力ファイルにアンロードする場合に使用します。 LOADFILE 節も指定する場合、生成される Db2 Load コマンドの MODIFIED BY オプションには USEGRAPHICCODEPAGE 修飾子が含まれます。
FASTPARSE
この修飾子は、アンロードされるデータには影響を与えません。 LOADFILE 節も指定する場合、生成される Db2 Load コマンドの MODIFIED BY オプションには FASTPARSE 修飾子が含まれます。
NOCHECKLENGTHS
この修飾子は、アンロードされるデータには影響を与えません。 LOADFILE 節も指定する場合、生成される Db2 Load コマンドの MODIFIED BY オプションには NOCHECKLENGTHS 修飾子が含まれます。
DUMPFILE "ファイル名"
この修飾子は、アンロードされるデータには影響を与えません。 指定する値は絶対パスでなければなりません。 LOADFILE 節も指定する場合、生成される Db2 Load コマンドの MODIFIED BY オプションには DUMPFILE 修飾子が含まれます。
ダンプファイルアクセスオール
この修飾子は、アンロードされるデータには影響を与えません。 LOADFILE 節も指定する場合、生成される Db2 Load コマンドの MODIFIED BY オプションには DUMPFILEACCESSALL 修飾子が含まれます。
DSNTIAUL
DSNTIAUL は、アンロードされたファイルを Db2 for z/OS®にロードできるフォーマットを生成する出力です。 出力フォーマットは、行区切り文字または列区切り文字のない順次ファイルです。 このファイルは、固定長レコードの中断のないシーケンスで構成されています。
INTO tablename または qualifier.tablename
LOADFILE オプションを使用して LOAD ファイルを生成し、ターゲット表の名前つまり qualifier.tablename の名前を変更する場合、以下のオプションを使用して新規名を指定することができます。
FORMAT DSNTIAUL INTO qualifier.tablename
重要: INTO 節を使用して名前を指定しない場合、ロード・ファイルではソース表の名前が使用されます。
XML
XML フォーマットは、行および列によって配列された、可変長レコードのシーケンスによって構成されたファイルです。 すべてのレコードは、XML タグでフォーマットされたストリングです。 各レコードには列名および列データが含まれています。

XML フォーマットでは、以下のオプションを使用します。

COLATTVAL または COLATTVAL_XML
列名または列値のデータには、無効な XML 文字が含まれることがあります。 COLATTVAL および COLATTVAL_XML オプションは、結果ストリングでの無効な XML 文字の置き換えを制御します。

COLATTVAL オプションを使用する場合、プログラムは列値と列名の両方にある無効な XML 文字を置き換えます。 COLATTVAL オプションがデフォルトです。 列名のみの無効な文字を置き換える場合には、COLATTVAL_XML オプションを指定する必要があります。

表 1. XML属性値と要素値の文字置換
文字 置き換え後
< & lt;
> &gt;
&quot;
& &amp;
&apos;
ROWTAGSTRING
ROWTAGSTRING オプションは、行タグの名前を変更するために使用します。行タグは XML フォーマットで各行を識別するために使用されるものです。 この修飾子を使用して、タグのさまざまなストリング定数を指定できます。 デフォルトでは、値 "row" が想定されます。 このオプションを使用して、特定の XML 要件を満たすように出力をカスタマイズできます。

例:

FORMAT XML ROWTAGSTRING "line"

データをアンロードするときにこのオプションが指定されていると、出力ファイルで "row" タグが "line" タグに置き換えられます。

<?xml version="1.0" encoding="windows-1252" ?>
<table name="TBL_XML">
<line>
  <column name="NUMBER">123</column>
  <column name="NUMBER_NN">345</column>
</line>
</table>
MIGRATION
MIGRATION キーワードは、データ・マイグレーションのデフォルト・フォーマットを指定するために使用します。 現時点で、MIGRATION フォーマットは DEL フォーマットと同じように機能します。 MIGRATION キーワードは以下のオプションを使用します。
INTO tablename または qualifier.tablename
特定の表をマイグレーションし、この表に明示的な select 要求を指定する場合、INTO オプションを使用して表名を指定できます。 ターゲット表の修飾子および名前がソース表の修飾子および名前と異なる場合、このオプションを使用して修飾子を指定します。 Optim High Performance Unload 対応するロードコマンドのINTO句から取得したテーブル名と修飾子を、ソーステーブルのテーブル名と修飾子の代わりに使用します。
重要: INTO 節を使用して名前を指定しない場合、ソース表の名前がロード・ファイルで使用されます。
JSON
JSON フォーマットは、Cloudant、CouchDB、MongoDB などの NoSQL データベースにインポートできるファイルを生成するための適切なフォーマットです。

抽出された行のリストに加えて、指定されたタスクが、関連するヘッダーおよびフッターが行の周囲に存在することを暗黙に示している場合は、JSON 出力フォーマットで生成された出力ファイルには、ヘッダーおよびフッターも含まれることがあります。

表の行のレイアウトは以下のようになります。
  • 左中括弧
  • 列ごとに、列名とその値をコロンで区切って組み合わせたペア。 列のペア同士はコンマで区切られます。
  • 右中括弧

列とその関連値のレイアウトは、すべての宛先について同じです。

LOADDEST 節を指定すると、生成される出力ファイルの内容に影響があります。 ヘッダーおよびフッターの内容は、選択された NoSQL 宛先 (Cloudant、CouchDB、または MongoDB) によって異なります。 LOADDEST 節が指定されていない (つまり、特定の宛先が選択されていない) 場合は、いずれかの宛先に固有となる内容を一切含まない汎用出力ファイルが生成されます。 そのため、この場合に生成される出力ファイルには、ヘッダーやフッターは含まれず、出力ファイルの内容は考慮対象の宛先によって異なります。

JSON 出力フォーマットを持つ出力ファイルが関連アップロード・コマンドで生成される場合、LOADDEST 節は必須です。

Db2 データ・タイプおよび JSON データ・タイプ:

JSON 出力フォーマットは CLOB、BLOB、DBCLOB、および XML の各データ・タイプ列とは両立しません。 これらのデータ・タイプのいずれかの列を参照する SQL ステートメントに対して JSON 出力フォーマットでアンロードを指定した場合、その指定はリジェクトされることになります。 両立しない主な理由は、LOB データまたは XML データを JSON 文書に関連付けるためのユーザー・フレンドリーな自動方式が見つからないことです。

JSON 出力フォーマットでサポートされるデータ・タイプ間で、数値データ同士は区別されず、データ・タイプには number が指定されます。 値のレイアウトは囲み文字を持たない数値です。 結果として、以下の Db2 データ・タイプがこのデータ・タイプにフォーマット設定されます。
  • SMALLINT
  • INTEGER
  • BIGINT
  • DECIMAL
  • 小桁実数 (REAL) 型
  • DOUBLE
Db2 ストリング・データ・タイプ (VAR) CHAR および (VAR) GRAPHIC、 Db2 時刻データ・タイプ、DATE、TIME、および TIMESTAMP、および DECFLOAT Db2 データ・タイプは、 stringと呼ばれる JSON データ・タイプにフォーマット設定されます。 値のレイアウトは、二重引用符で囲まれた値になります。

NULL 値は JSON データ・タイプ null で表されます。その値は常に、囲み文字を持たない定数ストリング「null」となります。

ビッグデータの出力フォーマット
サポートされているビッグデータの出力フォーマットは、Parquet形式とORC形式です。 それらの使用は、それぞれPARQUETとORCキーワードで指定できます。
データアンロードでParquetまたはORC出力フォーマットを指定する場合は、OUTFILE句を指定することが必須です。
ビッグデータ形式のファイルを取得するには、データのアンロードまたは移行のいずれの場合も、 Optim High Performance Unload 生成を目的とするマシン上で、2つの内部ステップを実行する必要があります
  • ソースから区切り記号付きのテンポラリファイルへのデータのアンロード:このステップでは、このデータは、対象テーブルのカラム名を含むヘッダーを先頭に持つ、区切り記号付きフォーマットの出力ファイルにアンロードされます。
  • この一時的な区切り付きファイルを、指定されたビッグデータ形式の別のファイルに変換する:このステップは、 Python スクリプトの実行に依存しており、 Optim High Performance Unload、 PyArrow ライブラリの使用に依存しています。 この2つ目のステップを成功させるには、2つの要件があります
    • Python 3.6 少なくとも、システムパスにインストールし、宣言する必要があります。 まだインストールされていない場合は、こちらからダウンロードできます: https://www.python.org/downloads/.
    • PyArrow ライブラリは、 Python 環境にインストールする必要があります。 まだインストールされていない場合は、pipツールでインストールできます: https://arrow.apache.org/docs/python/install.html#using-pip.
2つ目のステップを実行するマシン上で実行する前に、 Python 環境が制御されます。
区切り付きファイルからビッグデータ形式のファイルへの変換を成功させるには、一時ファイルと最終ファイルの両方を保存できる十分なディスク容量が必要です。 変換が終了すると、一時的な区切り付きファイルは削除されます。
EXTERNAL
EXTERNAL フォーマットは、 Db2 外部表とのインターフェースのために使用されるフォーマットです。 DDLFILE 節に関連付けられている場合は、外部表作成コマンドを生成できます。 生成されるデータ・ファイルの出力形式は、FORMAT EXTERNAL 節の値 (TEXT、FIXED、または BINARY) によって異なります。
外部表作成コマンドは常に、固有のデータ・ファイル、または Db2 レベルでのデータ配布に適した命名規則に従ったデータ・ファイルのセット (単一の基数、およびピリオドと 3 桁の数値を持つ拡張子) のいずれかに基づいています。
テキスト
TEXT オプションは、区切り文字で区切られている形式に対応します。 内部的には、DELIMITED フォーマットのように動作します。
修正済み
FIXED フォーマットは、行と列で配列された固定長レコードを持つ、区切り文字で区切られていない順次 ASCII ファイルです。 内部的には、ASC フォーマットのように動作します。
バイナリー
BINARY フォーマットはバイナリー・フォーマットです。これは、このタイプの外部表のために Db2 によって使用される内部レイアウトです。
すべての外部フォーマットについて、USINGオプションを使用することで、関連する Db2 外部テーブル作成コマンドが生成される際に適用されるオプションを指定することができます。 USING オプションには、EXTERNAL フォーマットのオプションのリストに記述されているオプションが少なくとも 1 つ含まれていなければなりません。 USING オプションの後に、考慮するオプションのスペース区切りリストを指定することにより、複数のオプションを設定できます。 これらの匿名オプションの説明については、 Db2 資料を参照してください。
使用中 (ext_options)
S3 および AZURE オプションの使用に関して、 Optim High Performance Unload に特有の事項について言及する必要があります。
S3
S3 オプションを指定する場合、外部表作成コマンドの生成は、 db2hpu.dest 構成ファイル内の関連する S3 セクションに設定する必要があるさまざまなパラメーターの使用に基づいて行われます。
"別名"
これは任意指定のオプションです。 このオプションの目的は、 db2hpu.dest 構成ファイル内の特定のオブジェクト・ストレージに関連するいくつかのセクションをサポートすることです。 別名は、それらのセクションを識別する手段となります。 これは、 db2hpu.dest ファイルに構成されていると見なされるオブジェクト・ストレージに関連するセクションに設定された別名に対応している必要があります。 値の大/小文字は区別されます。 このようなオプションを指定すると、 Optim High Performance Unloaddb2hpu.dest 構成ファイルを調査し、 S3 オブジェクトストレージに対応するセクションで、考慮したエイリアスで設定された「エイリアス」パラメータが含まれているかどうかを確認します。 それ以外の場合、このオプションが指定されていない場合、 db2hpu.dest 構成ファイルで検出された S3 オブジェクトストレージに対応する最初のセクションがタスクによって考慮されます。 Optim High Performance Unload タスクによって考慮されます。
AZURE
AZURE オプションを指定すると、外部表作成コマンドの生成は、さまざまなパラメーターの使用に基づいて行われます。これらのパラメーターの値は、 db2hpu.dest 構成ファイル内で、関連する Azure セクションに設定する必要があります。
"別名"
これは任意指定のオプションです。 このオプションの目的は、 db2hpu.dest 構成ファイル内の特定のオブジェクト・ストレージに関連するいくつかのセクションをサポートすることです。 別名は、それらのセクションを識別する手段となります。 これは、 db2hpu.dest ファイルに構成されていると見なされるオブジェクト・ストレージに関連するセクションに設定された別名に対応している必要があります。 値の大/小文字は区別されます。 このようなオプションを指定すると、 Optim High Performance Unloaddb2hpu.dest 構成ファイルを調査し、 Azure オブジェクトストレージに対応するセクションで、考慮したエイリアスで設定された「エイリアス」パラメータが含まれているかどうかを確認します。 それ以外の場合、このオプションが指定されていない場合、 db2hpu.dest 構成ファイルで検出された Azure オブジェクトストレージに対応する最初のセクションがタスクによって考慮されます。 Optim High Performance Unload タスクによって考慮されます。
外部表作成コマンドの生成:
EXTERNAL フォーマットでアンロード・タスクを実行する場合、取得した出力ファイルに基づいて、後で外部表を作成するための準備ができているコマンドを生成することもできます。 この機能は、制御ファイルで DDLFILE 節を指定することによって使用可能にすることができます。 このような場合、生成されるコマンドは、外部表の作成に固有の構文に基づいており、FORMAT EXTERNAL 節の指定で選択したオプションを使用して、その内容に基づいて動作することができます。
リモート・ロケーションにあるデータ・ファイルに基づく外部表の作成:
外部表は、この外部表の作成元の環境のリモート・ロケーションであるファイルを参照することができます。 さまざまな状況には、以下のものがあります。
  • S3 互換オブジェクトストアにあるファイルに基づく外部テーブル
  • Microsoft Azure Blob ストレージ内にあるファイルに基づく外部表。
  • Db2 クライアント環境から作成され、カタログされた Db2 サーバー上にあるファイルに基づく外部表。
これらのさまざまなケースはそれぞれ、外部表の作成ステートメントの S3、AZURE、および REMOTESOURCE LOCAL オプションに対応しています。 考慮対象のリモート・ロケーションに応じて、制御ファイル内で FORMAT EXTERNAL 節をそれぞれ S3、AZURE、または REMOTESOURCE LOCAL オプションとともに指定することができます。
このようなリモートファイルに基づく外部テーブルのシナリオでは、 Optim High Performance Unload 外部テーブルの作成準備を実行するユニークな実行を通じて、生成を許可することで、このような外部テーブルの作成を準備することもできます
  • 外部表に関連付けられる準備ができているデータ・ファイル
  • データ・ファイルを、適切な場所にあるリモート・ファイルとして参照する外部表作成コマンド
  • 後でデータ・ファイルを適切なリモート・ロケーションに転送するために使用する準備ができているアップロード・コマンド
もちろん、FORMAT EXTERNAL 節が指定されている場合、外部表作成コマンドの生成は、その外部表作成コマンドを含むファイルを参照する DDLFILE 節を制御ファイルに指定することによって有効にすることができます。
アップロード・コマンドの生成も有効にするには、制御ファイルで LOADFILE 節と LOADDEST 節を指定する必要があります。 LOADFILE 節は、アップロード・コマンドが含まれるファイルを指定できる節です。 LOADDEST 節は、予期されるタイプの宛先を指定できる節です。適切な内容でアップロード・コマンドを生成するために必要なパラメーターを含む宛先の構成ファイルのセクションを参照します。
これを実行した後、 Optim High Performance Unload この目的のために実行した後、次にできることは:
  • 生成されたアップロード・コマンドを実行して、外部表によって考慮される適切なリモート・ロケーションにデータ・ファイルをコピーします。
  • 外部表を作成するための外部表作成コマンドを実行します。
このようなシナリオでは、FORMAT EXTERNAL、LOADFILE、および LOADDEST 節にいくつかの規則と制限が適用されます。
  • LOADFILE 節と LOADDEST 節を一緒に指定する必要があります。
  • LOADDEST 節と FORMAT EXTERNAL 節は、宛先タイプに対して相対的に一貫して指定する必要があります。
  • S3 互換の宛先または Microsoft Azure 宛先の場合、 LOADDEST 節と FORMAT EXTERNAL 節は、宛先用の構成ファイルの同じセクションを参照しなければなりません。つまり、両方の節がいずれの宛先エイリアスも参照しないか、または同じ宛先エイリアスを参照しなければなりません。
S3 互換のオブジェクトストアに配置されたデータファイルの場合、以下のようになります
  • 外部テキストのフォーマット | 固定 | バイナリー使用 (S3 ["alias"])
  • LOADDEST (OBJECT_STORAGE AWS_S3 ["alias"])
Microsoft Azure Blob ストレージにあるデータ・ファイルの場合は、以下のような節を指定します。
  • 外部テキストのフォーマット | 固定 | バイナリー使用 (AZURE ["alias"])
  • LOADDEST (OBJECT_STORAGE AZURE ["alias"])
Db2 サーバー上にあるデータ・ファイル、および Db2 クライアントから実行されるコマンドで作成される外部表の場合は、以下のような節を指定します。
  • 外部テキストのフォーマット | 固定 | バイナリー使用 (REMOTESOURCE LOCAL)
  • LOADDEST (OBJECT_STORAGE FILESYSTEM ["alias"])
暗黙オプション:
外部テーブル作成コマンドを生成する際、実行ケースによっては、いくつかのオプションが暗黙的にこのコマンドに追加される場合があります Optim High Performance Unload 実行ケースによって、暗黙的に追加される場合があります。 以下のリストで、関係するオプションについて説明します。
CCSID
このオプションは、生成される外部テーブル作成コマンドに常に追加され、その値は実行時の出力ロケールに基づきます。 Optim High Performance Unload 実行時
DataObject
このオプションは常に、生成された外部表作成コマンドに追加され、その値は生成された出力ファイルのパスと名前に対応します。 外部テーブルが、 S3 互換または Microsoft Azure 環境にあるファイルを基にすることを目的としていない場合、OUTFILE句を使用する場合は、絶対パスで指定する必要があります。
パーティション
データ再パーティション化が有効になっている場合、このオプションが追加され、関連するパーティション番号のコンマ区切りリストを使用して設定されます。 これにより、 Db2 は、後で外部表の作成を実行するときに、パーティション化された出力ファイルを正しく処理することができます。 データ・ファイル名のパターンは、 Db2 レベルでのデータ配布に適した命名規則 (単一の基数、およびピリオドと 3 桁の数字を持つ拡張) に従う必要があります。
オプションの互換性:
FORMAT EXTERNAL 節で使用可能なすべてのオプションについて、互換性のある出力フォーマット・キーワードを以下に示します。
オプション テキスト 修正済み バイナリー アンロードされたデータへの影響
AZURE X X X
CARDINALITY X X X
CRINSTRING X X
CTRLCHARS X X
DECIMALDELIM X X X
DECPLUSBLANK X X X
DELIMITER X X
ENCODING X
EscapeChar X
FILLRECORD X X
IgnoreZero X
LFINSTRING X
Logdir X X X
MAXERRORS X X X
最大 ROWS X X
NOLOG X X X
NULLVALUE X X
QUOTEDVALUE X X
レコード・デリオム X X X
REMOTESOURCE X X X
REQUIREQUOTES X
SKIPROWS X X
SOCKETBUFSIZE X X X
STRICTNUMERIC X X
S3 X X X
Timeroundnanos 社 X X X
TRIMBLANKS X X
TruncString X
制約事項:
FORMAT EXTERNAL 節の使用を検討する際に、制御ファイルの指定に適用される制約事項がいくつかあります。
OUTFILE 節では、信頼できる外部表作成コマンドを生成することはできません。
  • %{listValFile} または%{listValDir} テンプレート・キーワードが含まれています。
  • ファイルのコンマ区切りリストを使用して指定します。
  • は、名前がパーティション番号を参照する出力ファイルが作成されることを意味します。これらの名前は、パーティション環境には適していません。
LOADMODE 節、LOBFILE 節、または MIGRATE 節は指定できません
LOADDEST 節は、 AWS_S3、AZURE、または FILESYSTEM 値以外のオプションと一緒に指定することはできません。
LOADDEST 節が指定されていない場合、LOADFILE 節を指定することはできません。
FILEMAXSIZE 節が指定されていて、出力が複数のファイルに分割されている場合、 Db2 は DATAOBJECT オプションを使用して複数の入力データ・ファイルを処理できないため、外部表作成コマンドは最初に生成された出力ファイルのみを参照します。
これらの指定には互換性がないため、FORMAT EXTERNAL 節の REQUIREQUOTES TRUE オプションと QUOTEDVALUE NO オプションを一緒に指定することはできません。
FORMAT EXTERNAL 節の AZURE、REMOTESOURCE、および S3 オプションは相互に排他的です。