DBX (エクスポート) バッチ・コマンド

目的

ローカルまたは分散 Db2® システムの Db2® オブジェクト (表、ビュー、同義語、または別名) あるいは SELECT ステートメントの結果表から、順次ファイルまたは VSAM ファイルにデータをエクスポートします。

使用

FM/Db2 エクスポート・ユーティリティーは、次のいずれかの方法で、Db2® 表またはビューからデータをエクスポートします。

File Manager
出力データ・セットは、順次データ・セット、区分データ・セット、または VSAM ファイルです。
Db2® UNLOAD ユーティリティー
Db2® UNLOAD ユーティリティーによって、出力データ・セットは順次データ・セットに制限されます。出力データの形式の再設定は、Db2® UNLOAD ユーティリティーで実行されます。そのため、File Manager を使用した場合には使用できるテンプレート・マッピングおよび再フォーマット・オプションの一部が使用できません。
Db2® DSNTIAUL サンプル・プログラム
Db2® DSNTIAUL ユーティリティーによって、出力データ・セットは順次データ・セットに制限されます。出力データの形式の再設定は、Db2® DSNTIAUL サンプル・プログラム・ユーティリティーで実行されます。そのため、File Manager を使用した場合には使用できるテンプレート・マッピングおよび再フォーマット・オプションの一部が使用できません。

大量のデータをエクスポートするとき、Db2® UNLOAD ユーティリティーは File Manager または DSNTIAUL サンプル・プログラムと比較して、高いパフォーマンスを提供します。

定義済み (標準) エクスポート・データ形式を選択するか、コピーブックまたはテンプレートを使用してデータ形式を指定できます。File Manager でデータをエクスポートするか、Db2® ユーティリティーまたはサンプル・プログラムでデータをエクスポートするかを指定できます。ユーザー定義のデータ形式では、Db2® ヌル標識の表現方法 (1 バイトまたは 2 バイト)、およびエクスポートしたデータの中でヌル標識を配置する場所を指定できます。区切り文字で区切られている形式 (コンマ区切り変数) でデータをエクスポートするように指定することもできます。

1.

1  DBX
1  SQLDD=ddname
2.1! SQLRECSZ=72
2.1 SQLRECSZ=nn
2.1  OBJIN=? ? location. owner. name
2.1 ? ? OBJILOCN=location OBJIOWNR=owner OBJINAME=name
1! TINPUT=TDDIN
1 TINPUT=ddname?TINMEM=member
1 TMIN=template_data_set_name(member)
1! OUTPUT=DDOUT
1 OUTPUT=ddname
1 DSNOUT=dsname
1! TOUTPUT=DDOUT
1 
2.1  TOUTPUT=ddname? TOUTMEM=member
2.1 TCOUT=template/copybook_data_set_name(member)
2.1! GENREP=NO
2.1 GENREP=YES
5 NULLIND=character
5 ROWS=
6.1 ALL
6.1 num
1! NATIVE=NO
1 NATIVE=YES
1!  CSV=NO DATAFORMAT=SQLDA
1 CSV=NO
2.1 DATAFORMAT=DSNTIAUL
2.1 DATAFORMAT=UNLOAD
2.1  DATAFORMAT=USER  %User options
1  CSV=YES DATAFORMAT=CSV  %CSV options
User options

1  NIUSAGE=NONE  %Data type
1  NIUSAGE=SEPARATE?  %Placement?  %Null type
CSV options

1! CSVHDR=NO
1 CSVHDR=YES
1! CSVASIS=NO
1 CSVASIS=YES
1!  SEPTYPE=CHAR
2.1! SEPARATOR=','
2.1 SEPARATOR=xx
1  SEPTYPE=INTEGER SEPINT=nn
1  NITYPE=CHAR NICHAR=xx
1  NITYPE=INTEGER NIINTEGER=nn
1 NITYPE=NONE
1! QUOTED=YES
1 QUOTED=NO
1! SNGLQUOTE=YES
1 SNGLQUOTE=NO
1! LZERO=YES
1 LZERO=NO
1! LEADING=YES
1 LEADING=NO
1! TRAILING=YES
1 TRAILING=NO
Placement

1 PLACE=
2.1 BEFORE
2.1 AFTER
2.1 USER
Null type

1  TYPE=CHAR? NICHAR=character
1  TYPE=INTEGER NIINTEGER=signed_integer
Data type

1! DECIMAL=INTERNAL
1 DECIMAL=
2.1 ZONED
2.1 EXTERNAL
1! INTEGER=NO
1 INTEGER=EXTERNAL
1! FLOAT=NO
1 FLOAT=EXTERNAL
1! SOSI=NO
1 SOSI=YES
SQLDD=ddname
ddname は、JCL で指定される DDNAME であり、処理される SQL SELECT ステートメントを含むデータ・セット、またはインライン SQL SELECT ステートメントを指定するために使用される DDNAME を識別します。
SQLRECSZ=nn
nn は、SQL ステートメントの使用可能なレコード・サイズです。JCL で指定されるインライン SQL ステートメントの場合には、値 72 を使用して 73 桁から 80 桁における順序番号の問題を回避します。

データ・セットの場合には、適切な値を設定します。

OBJIN=location.owner.name
オブジェクトがある Db2® リモート・サーバーの名前 (location、オプション)、オブジェクトの所有者の名前 (owner、オプション)、およびエクスポートされるオブジェクトの名前 (name)。

location が指定されていない場合、現在の (ローカル) DB2® サーバーが使用されます。owner が指定されていない場合、オブジェクト名は現在の SQLID で修飾されます。FM/DB2 がユーティリティー制御ステートメントを生成する場合、owner 値は非ブランクです。

完全修飾名が JCL デックの単一行に納まる場合、OBJIN を使用してください。最後の使用可能列は列 71 です。完全修飾名が JCL デックの単一行に納まらない場合は、OBJILOCN、OBJIOWNR、OBJINAME キーワード (複数可) を使用して、オブジェクトを指定します。

OBJILOCN=location
エクスポートされるオブジェクトがある Db2® リモート・サーバーの名前 (location、オプション)。Db2 オブジェクト名 の指定を参照してください。
OBJIOWNR=owner
エクスポートされるオブジェクトの所有者の名前 (owner、オプション)。Db2 オブジェクト名 の指定を参照してください。
OBJINAME=name
エクスポートされるオブジェクトのオブジェクト名 (name)。Db2 オブジェクト名 の指定を参照してください。
TINPUT=ddname
エクスポートされる Db2® オブジェクトを記述した Db2® テンプレートが含まれているデータ・セットの DD ステートメントに対する参照を定義します。連結した DD を指定する場合は、メンバー名 (member) を TINMEM キーワードで指定する必要があります。Db2 オブジェクト用テンプレートの指定を参照してください。
TINMEM=member
コピーブックまたはテンプレート・メンバーが DD ステートメントで指定されていない場合に、TINPUT パラメーターによって識別されるデータ・セットのコピーブックまたはテンプレート・メンバーの名前。TMIN パラメーターが指定されている場合、このパラメーターを指定することはできません。Db2 オブジェクト用テンプレートの指定を参照してください。
TMIN=template_data_set_name(member)
エクスポートされる Db2® オブジェクトを記述した FM/Db2 テンプレートの PDS (template_data_set_name) とメンバー名 (member)。Db2 オブジェクト用テンプレートの指定を参照してください。
OUTPUT=ddname
エクスポート・データ・セットの DD ステートメントに対する参照を定義します。このキーワードと DSNOUT キーワードを同時に使用することはできません。FM/Db2 が生成する JCL では、File Manager ユーティリティー制御ステートメントで OUTPUT=FMNOUT が指定され、JCL で適切な DD ステートメントが指定されます。
DSNOUT=dsname
エクスポート・データ・セットの名前またはエクスポート HFS ファイル (ディレクトリー) への絶対パスを定義します。このキーワードと OUTPUT キーワードを同時に使用することはできません。名前に、小括弧で囲んだメンバー名を含めることができます。HFS ファイル (ディレクトリー) への絶対パスは、アポストロフィで囲む必要があります。データ・セット名が 1 行に収まらない場合は、複数行に分けることができます。
TOUTPUT=ddname
出力データのレコード構造が記述されているコピーブックまたはテンプレートが入ったデータ・セットの DD または TSO ALLOC ステートメントに対する参照を定義します。デフォルトは、TDDOUT です。
TOUTMEM=member
コピーブックまたはテンプレート・メンバーが DD ステートメントで指定されていない場合に、TOUTPUT パラメーターによって識別されるデータ・セットのコピーブックまたはテンプレート・メンバーの名前。TCOUT パラメーターが指定されている場合、このパラメーターを指定することはできません。
TCOUT=template/copybook_data_set_name(member)
エクスポートされるデータのレコード構造を記述したテンプレートまたはコピーブックの PDS (template/copybook_data_set_name) とメンバー名 (member)。FM/Db2 が生成する JCL では、出力コピーブックまたはテンプレートが必要な場合、TCOUT が指定されます。データ・セット用テンプレート/コピーブックの指定を参照してください。
GENREP
出力テンプレートを生成し、TCOUT キーワードまたは TDDOUT DD ステートメントに指定されたデータ・セットに保管するかどうか。
NO
生成も保管もしません。
YES
生成して保管します。
NULLIND=character
CSV 形式の場合のみ、列の値が Db2® ヌル値であることをエクスポートされたデータで示すために使用する文字を定義します。デフォルトは下線文字です。この文字の値は、エディターの「Null Column Indicators: Display (ストリング区切り文字: 表示)」オプションで指定された区切り文字を使用して示します。File Manager ユーティリティー制御ステートメントで指定する場合、文字はコンマ以外の印刷可能文字にする必要があります。値を引用符で囲むことはできません。

NULLIND は、File Manager ユーティリティー制御ステートメントに必ず指定します。指定された値は、CSV 以外のすべての DATAFORMAT 指定で無視されます。

ROWS
エクスポートするレコード数です。
ALL
オブジェクトから選択したすべてのレコードがエクスポート・データ・セットに書き込まれます。
num
エクスポート・データ・セットに書き込まれるレコードの最大数。有効範囲: 1-99999999.
NATIVE
Unicode でエンコードされた表からデータをエクスポートする場合、FM/Db2 が Unicode エンコード・データをネイティブに処理するかどうかを指定します。Unicode データのデフォルト処理が必要な場合、このオプションを無視することができます。すなわち、Unicode 表間でデータをコピーする場合、Unicode データがエラー文字に置き換えられる可能性があります。
YES
Unicode データをネイティブに処理します。
NO
Unicode データをネイティブに処理しません。これは、デフォルトです。
CSV
エクスポートされたデータを区切り文字で区切られている変数形式にするかどうかを指定します。
NO
エクスポート・データを区切り文字で区切られている形式にしません。これは、デフォルトです。
YES
エクスポート・データを区切り文字で区切られている形式にします。
DATAFORMAT
エクスポートされたデータのデータ形式。
SQLDA
デフォルトです。ヌル可能列の前に、ヌル標識が入った 2 バイトの 2 進数フィールドが置かれます。列にヌル値がある場合、このフィールドには -1 が含まれます。ヌル値がない場合は、0 が含まれます。10 進数フィールドは、16 バイトが使用され、データはフィールドで左寄せされて、末尾が 2 進ゼロになります。グラフィックまたは可変長グラフィック・フィールドの後には、2 進数のゼロが入った 2 バイトが続きます。
UNLOAD
この形式では、ヌル可能列の前に、ヌル標識が入った 1 バイトのフィールドが置かれます。列にヌル値がある場合、このフィールドには 16 進数の「FF」が含まれます。ヌル値がない場合は、0 が含まれます。10 進数フィールドは、パック 10 進数フィールドのようにデータを表示するのに必要な最小バイト数を占有します。アンロードされたレコードの可変長列は、最大長になるまで埋め込まれ、 埋め込みなしの場合の実データのサイズを示す 2 バイトの長さフィールドが、 埋め込まれたデータ・フィールドの前に置かれます。CCSID 変換はサポートされません。エクスポートされたデータは、FM/Db2 プランのバインドに使用する CCSID 形式になります。
DSNTIAUL
ヌル可能列の後に、ヌル標識が入った 1 バイトのフィールドが置かれます。列にヌル値がある場合、このフィールドには「?」が含まれます。10 進数フィールドは、パック 10 進数フィールドのようにデータを表示するのに必要な最小バイト数を占有します。
USER
データ形式はユーザー指定のコピーブックまたはテンプレートとテンプレート・マッピングによって定義されます。または、NIUSAGE、PLACE、TYPE (NICHAR、NIINTEGER)、 DECIMAL、INTEGER、FLOAT、および SOSI キーワードを使用して、データ形式を定義できます。
CSV
データは区切り文字で区切られている変数としてエクスポートされます。デフォルトの区切り文字はコンマです。SEPARATOR キーワードを使用して、別の区切り文字を指定できます。コピーブックまたはテンプレートを使用して、区切り文字で区切られている変数データ形式を記述することはできません。
CSVHDR
CSV=YES が指定されているときに、エクスポート・ファイルの最初のレコードに列見出しが作成されるかどうかを指定します。考えられる値は以下のとおりです。
NO
列見出しは作成されません。
YES
列見出しは作成されます。
CSVASIS
データに CSV 区切り文字または引用符が含まれている場合に、CSV データの自動カプセル化を無効にするかどうかを指定します。
YES
自動カプセル化を無効にします。
NO
自動カプセル化を有効にします。

このオプションは、純粋な DBCS データ (GRAPHIC データ型) 以外の文字データに適用されます。このオプションの用途の 1 つに、既に引用符でカプセル化されている文字データを DB2® 表に挿入する前に二重にカプセル化しないようにすることがあります。

SEPTYPE=CHAR/INTEGER
CSV 形式の場合にのみ、出力の各フィールドを分離するために使用する分離文字のタイプを指定します。
CHAR
1 文字または 2 文字を使用して、各フィールドのデータを分離します。SEPARATOR キーワードを使用して、使用する文字を指定します。
INTEGER
符号付き整数を使用して、2 バイトの分離文字を指定します。SEPINT を使用して、使用する符号付き整数を指定します。
SEPARATOR='characters'
CSV 形式にエクスポートするときに各フィールドを分離するために使用する 1 文字または 2 文字を指定します。デフォルトはコンマです。
SEPINT=signed_integer
CSV 形式にエクスポートするときに各フィールドを分離するために使用する符号付き整数を指定します。指定した値は、整数の 2 バイトの符号付き表現に変換されます。例:
  • -1 は、2 バイトの分離文字 X'FFFF になります。
  • 257 は、2 バイトの分離文字 X'0101' になります。
QUOTED
出力フィールドの値を引用符で囲むかどうかを指定します。デフォルトは QUOTED=NO です。このオプションが指定されていて、SNGLQUOTE が指定されていない場合、または SNGLQUOTE が NO に設定されている場合、出力フィールドは二重引用符で囲まれます。
YES
出力フィールドの値を引用符で囲みます。
NO
デフォルトです。出力フィールドの値を引用符で囲みません。
SNGLQUOTE
出力フィールドの値を一重引用符または二重引用符で囲むかどうかを指定します。デフォルトは、SNGLQUOTE=NO です。
YES
出力フィールドの値を一重引用符で囲みます。
NO
デフォルトです。出力フィールドの値を二重引用符で囲みます。
LZERO
数値フィールドの先頭に先行ゼロを付けるかどうかを指定します。デフォルトは LZERO=NO です。
YES
数値フィールドの先頭に先行ゼロを付けます。
NO
デフォルトです。数値フィールド先頭に先行ゼロを付けません。
LEADING
Db2 CHAR 列および VARCHAR 列内の先行ブランクを CSV エクスポート・データ・セットに組み込むかどうかを指定します。デフォルトは、LEADING=YES です。
YES
エクスポートされるデータ・セットに先行ブランクを組み込みます。Db2 列の値がすべてブランクで、TRAILING=YES が指定されている場合、すべてのブランクがエクスポートされるデータ・セットに組み込まれます。
NO

エクスポートされるデータ・セットに先行ブランクを組み込みません。

TRAILING
Db2 CHAR 列および VARCHAR 列内の末尾ブランクを CSV エクスポート・データ・セットに組み込むかどうかを指定します。デフォルトは、TRAILING=NO です。
YES

エクスポートされるデータ・セットに末尾ブランクを組み込みます。Db2 列の値がすべてブランクで、LEADING=YES が指定されている場合、すべてのブランクがエクスポートされるデータ・セットに組み込まれます。

NO
エクスポートされるデータ・セットに末尾ブランクを組み込みません。
PLACE
エクスポートされたデータでの Db2® ヌル標識フィールドの位置。
BEFORE
Db2® ヌル標識のフィールドは、列のデータの直前に置かれます。
AFTER
Db2® ヌル標識のフィールドは、列のデータの直後に置かれます。
USER
Db2® ヌル標識のフィールドは、コピーブックまたはテンプレートとテンプレート・マッピングを使用して定義します。
NIUSAGE
DATAFORMAT=USER の場合にのみ、エクスポートされたデータにヌル標識を含めるかどうかを指定します。CSV 形式のヌル標識使用法を指定するには、NITYPE、NICHAR、NIINTEGER の各キーワードを使用します。
なし
エクスポートされたデータに DB2® ヌル標識を含めません。ヌル可能列がある DB2® オブジェクトでこのオプションを使用すると情報が失われ、そのためにソース・レコードのヌル標識がエクスポートされません。
SEPARATE
エクスポートされたデータに DB2® ヌル標識を含めます。ヌル標識フィールドの位置およびデータ型は、PLACE、TYPE、NICHAR、NIINTEGER の各キーワードを使用して指定します。
TYPE=CHAR/INTEGER
ヌル標識フィールドのデータ形式 (DATAFORMAT=USER の場合のみ)。ヌル標識は、1 バイト (文字) または 2 バイト (符号付き整数) のフィールドです。DB2® ヌル値を示すために使用する文字または整数は、NICHAR (TYPE=CHAR) または NIINTEGER (TYPE=INTEGER) キーワードで指定できます。
NITYPE=CHAR/INTEGER
ヌル標識フィールドのデータ形式 (DATAFORMAT=CSV の場合のみ)。ヌル標識は、1 バイト (文字) または 2 バイト (符号付き整数) のフィールドです。DB2® ヌル値を示すために使用する文字または整数は、NICHAR (NITYPE=CHAR) または NIINTEGER (NITYPE=INTEGER) キーワードで指定できます。
NICHAR=character
列に DB2® ヌル値が入っていることを示すために使用する文字。NICHAR は、DATAFORMAT=USER および TYPE=CHAR の場合にのみ指定します。
NIINTEGER=signed_integer
列に DB2® ヌル値が入っていることを示すために使用する整数。NIINTEGER は、DATAFORMAT=USER および TYPE=INTEGER の場合にのみ指定します。-32767 から 32768 までの符号付き整数を指定できます。
DECIMAL
エクスポートされたデータでの 10 進数列のデータ形式を指定します。考えられる値は以下のとおりです。
INTERNAL
10 進データは、内部パック 10 進数形式で表されます。
ZONED
10 進データは、ゾーン 10 進数の数字のストリングとして表されます。
EXTERNAL
10 進データは、10 進数を表す文字のストリングとして表されます (「3.1415」など)。
INTEGER
エクスポートされたデータでの整数列のデータ形式を指定します。整数列は、SMALLINT、INTEGER、または BIGINT です。考えられる値は以下のとおりです。
NO
整数データは、2 バイト (SMALLINT)、4 バイト (INTEGER)、または 8 バイト (BIGINT) を占有する内部形式で表されます。
EXTERNAL
整数データは、整数を表す文字のストリングとして表されます (「42」、「1000000」など)。
浮動
エクスポートされたデータでの浮動小数点列のデータ形式を指定します。浮動小数点列は、REAL、FLOAT、DOUBLE、または DECFLOAT 列です。考えられる値は以下のとおりです。
NO
浮動小数点データは、内部形式で表されます。
EXTERNAL
浮動小数点データは、数値を表す文字のストリングとして表されます (「-1.0000000000000000E+00 」など)。
SOSI
グラフィック・データ・タイプ列 (GRAPHIC、VARGRAPHIC) のデータをシフトイン・シフトアウト (sosi) 文字で囲むかどうかを指定します。考えられる値は以下のとおりです。
NO
グラフィック・データをシフトイン・シフトアウト文字で囲みません。
YES
グラフィック・データをシフトイン・シフトアウト文字で囲みます。

例(X)

例 1: Db2® サンプル表 DSN8810.EMP から順次ファイルに、SQLDA 形式でデータをエクスポートします。出力データ・セットはバッチ・ジョブで割り振られます。

//DBX JOB (acct),'name'
//* Export DSN8810.EMP table to a data set
//*
//FMNDB2   EXEC PGM=FMNDB2,PARM=('SSID=DSN1,SQID=ID1')
//STEPLIB  DD DSN=FMN.SFMNMOD1,DISP=SHR
//         DD DSN=DB2V810.DSN1.SDSNEXIT,DISP=SHR
//         DD DSN=DB2.V810.SDSNLOAD,DISP=SHR
//SYSPRINT DD SYSOUT=*
//FMNTSPRT DD SYSOUT=*
//SYSTERM  DD SYSOUT=*
//FMNOUT   DD DISP=(MOD,CATLG,DELETE),UNIT=SYSALLDA,
//            AVGREC=U,
//            LRECL=144,RECFM=FB,DSORG=PS,
//            SPACE=(144,(42,4),RLSE),
//            DSN=ID1.EXPORT.EMP.SQLDA
//SYSIN    DD *
$$FILEM DBX OBJIN="DSN8810"."EMP",
$$FILEM OUTPUT=FMNOUT,
$$FILEM NULLIND=_,
$$FILEM CSV=NO,
$$FILEM DATAFORMAT=FMSQLDA,
$$FILEM ROWS=ALL
/*

Example 2: Db2® サンプル表 DSN8810.EMP から順次ファイルに、Db2® UNLOAD 形式でデータをエクスポートします。出力データ・セットはバッチ・ジョブで割り振られます。

//DBX JOB (acct),'name'
//* Export DSN8810.EMP table to a data set
//*
//FMNDB2   EXEC PGM=FMNDB2,PARM=('SSID=DSN1,SQID=ID1')
//STEPLIB  DD DSN=FMN.SFMNMOD1,DISP=SHR
//         DD DSN=DB2V810.DSN1.SDSNEXIT,DISP=SHR
//         DD DSN=DB2.V810.SDSNLOAD,DISP=SHR
//SYSPRINT DD SYSOUT=*
//FMNTSPRT DD SYSOUT=*
//SYSTERM  DD SYSOUT=*
//FMNOUT   DD DISP=(MOD,CATLG,DELETE),UNIT=SYSALLDA,
//            AVGREC=U,
//            LRECL=101,RECFM=FB,DSORG=PS,
//            SPACE=(101,(42,4),RLSE),
//            DSN=ID1.EXPORT.EMP.UNLOAD
//SYSIN    DD *
$$FILEM DBX OBJIN="DSN8810"."EMP",
$$FILEM OUTPUT=FMNOUT,
$$FILEM NULLIND=_,
$$FILEM CSV=NO,
$$FILEM DATAFORMAT=UNLOAD,
$$FILEM ROWS=ALL
/*

例 3: Db2® サンプル表 DSN8810.EMP から順次ファイルに、Db2® DSNTIAUL 形式でデータをエクスポートします。出力データ・セットはバッチ・ジョブで割り振られます。

//DBX JOB (acct),'name'
//* Export DSN8810.EMP table to a data set
//*
//FMNDB2   EXEC PGM=FMNDB2,PARM=('SSID=DSN1,SQID=ID1')
//STEPLIB  DD DSN=FMN.SFMNMOD1,DISP=SHR
//         DD DSN=DB2V810.DSN1.SDSNEXIT,DISP=SHR
//         DD DSN=DB2.V810.SDSNLOAD,DISP=SHR
//SYSPRINT DD SYSOUT=*
//FMNTSPRT DD SYSOUT=*
//SYSTERM  DD SYSOUT=*
//FMNOUT   DD DISP=(MOD,CATLG,DELETE),UNIT=SYSALLDA,
//            AVGREC=U,
//            LRECL=101,RECFM=FB,DSORG=PS,
//            SPACE=(101,(42,4),RLSE),
//            DSN=ID1.EXPORT.EMP.DSNTIAUL
//SYSIN    DD *
$$FILEM DBX OBJIN="DSN8810"."EMP",
$$FILEM OUTPUT=FMNOUT,
$$FILEM NULLIND=_,
$$FILEM CSV=NO,
$$FILEM DATAFORMAT=DSNTIAUL,
$$FILEM ROWS=ALL
/*

例 4: スペースを含む長い名前の表から順次ファイルに、SQLDA 形式でデータをエクスポートします。出力データ・セットは事前に割り振られています。

//DBX JOB (acct),'name'
//* Export a table with a long name to a data set
//*
//FMNDB2   EXEC PGM=FMNDB2,PARM=('SSID=DSN1,SQID=ID1')
//STEPLIB  DD DSN=FMN.SFMNMOD1,DISP=SHR
//         DD DSN=DB2V910.DSN1.SDSNEXIT,DISP=SHR
//         DD DSN=DB2.V910.SDSNLOAD,DISP=SHR
//SYSPRINT DD SYSOUT=*
//FMNTSPRT DD SYSOUT=*
//SYSTERM  DD SYSOUT=*
//FMNOUT   DD DISP=MOD,
//            DSN=ID1.EXPORT.EMP.EXAMPLE4
//SYSIN    DD *
$$FILEM DBX OBJIOWNR=ID1,
$$FILEM OBJINAME='\$Very long table name to demonstrate how \$',
$$FILEM '\$long names are handled\$',
$$FILEM OUTPUT=FMNOUT,
$$FILEM NULLIND=_,
$$FILEM CSV=NO,
$$FILEM DATAFORMAT=FMSQLDA,
$$FILEM ROWS=ALL
/*

例 5: Db2® サンプル表 DSN8810.EMP から順次ファイルに、ユーザー定義のデータ形式でデータをエクスポートします。出力データ・セットは事前に割り振られています。ユーザー定義のデータ形式は、次のようになっています。

  • ヌル標識を使用する (NIUSAGE=SEPARATE)
  • ヌル標識は、列のデータの直後に置かれる (PLACE=AFTER)
  • ヌル標識は 2 バイト (符号付き整数) フィールド (TYPE= INTEGER)
  • 列に Db2® ヌル値が入っていることを示すために使用する値は、-55 です。
  • DECIMAL データ・タイプ列は、外部形式で表す (「3.1414」など)
  • INTEGER データ列は、外部形式で表す (「1234」など)
  • 浮動小数点データ・タイプ列は、外部形式で表す
//DBX JOB (acct),'name'
//* Export DSN8810.EMP table to a data set
//*
//FMNDB2   EXEC PGM=FMNDB2,PARM=('SSID=DSN1,SQID=ID1')
//STEPLIB  DD DSN=FMN.SFMNMOD1,DISP=SHR
//         DD DSN=DB2V910.DSN1.SDSNEXIT,DISP=SHR
//         DD DSN=DB2.V910.SDSNLOAD,DISP=SHR
//SYSPRINT DD SYSOUT=*
//FMNTSPRT DD SYSOUT=*
//SYSTERM  DD SYSOUT=*
//FMNOUT   DD DISP=MOD,
//            DSN=ID1.EXPORT.EMP.EXAMPLE5
//SYSIN    DD *
$$FILEM DBX OBJIN="DSN8910"."EMP",
$$FILEM OUTPUT=FMNOUT,
$$FILEM NULLIND=_,
$$FILEM CSV=NO,
$$FILEM DATAFORMAT=USER,
$$FILEM NIUSAGE=SEPARATE,
$$FILEM PLACE=AFTER,
$$FILEM TYPE=INTEGER,
$$FILEM NIINTEGER=-55,
$$FILEM DECIMAL=EXTERNAL,
$$FILEM INTEGER=EXTERNAL,
$$FILEM FLOAT=EXTERNAL,
$$FILEM ROWS=ALL
/*

例 6: Db2® サンプル表 DSN8810.EMP から順次ファイルに、CSV (区切り文字で区切られている変数) 形式でデータをエクスポートします。区切り文字は「!」文字です。出力データ・セットは事前に割り振られています。

//DBX JOB (acct),'name'
//* Export DSN8810.EMP table to a data set
//*
//FMNDB2   EXEC PGM=FMNDB2,PARM=('SSID=DSN1,SQID=ID1')
//STEPLIB  DD DSN=FMN.SFMNMOD1,DISP=SHR
//         DD DSN=DB2V910.DSN1.SDSNEXIT,DISP=SHR
//         DD DSN=DB2.V910.SDSNLOAD,DISP=SHR
//SYSPRINT DD SYSOUT=*
//FMNTSPRT DD SYSOUT=*
//SYSTERM  DD SYSOUT=*
//FMNOUT   DD DISP=MOD,
//            DSN=ID1.EXPORT.EMP.CSV
//SYSIN    DD *
$$FILEM DBX OBJIN="DSN8910"."EMP",
$$FILEM OUTPUT=FMNOUT,
$$FILEM NULLIND=_,
$$FILEM CSV=YES,
$$FILEM DATAFORMAT=CSV,
$$FILEM SEPARATOR='!',
$$FILEM ROWS=ALL
/*

例 7: Db2® サンプル表 DSN8810.EMP から順次ファイルに、CSV (区切り文字で区切られている変数形式) でデータをエクスポートします。区切り文字は x'FFFF' で、NIUSAGE、TYPE、 および NIINTEGER キーワードで定義します。出力データ・セットは事前に割り振られています。

//DBX JOB (acct),'name'
//* Export DSN8810.EMP table to a data set
//*
//FMNDB2   EXEC PGM=FMNDB2,PARM=('SSID=DSN1,SQID=ID1')
//STEPLIB  DD DSN=FMN.SFMNMOD1,DISP=SHR
//         DD DSN=DB2V910.DSN1.SDSNEXIT,DISP=SHR
//         DD DSN=DB2.V910.SDSNLOAD,DISP=SHR
//SYSPRINT DD SYSOUT=*
//FMNTSPRT DD SYSOUT=*
//SYSTERM  DD SYSOUT=*
//FMNOUT   DD DISP=MOD,
//            DSN=ID1.EXPORT.EMP.CSV2
//SYSIN    DD *
$$FILEM DBX OBJIN="DSN8910"."EMP",
$$FILEM OUTPUT=FMNOUT,
$$FILEM NULLIND=_,
$$FILEM CSV=YES,
$$FILEM DATAFORMAT=CSV,
$$FILEM NIUSAGE=CSV,
$$FILEM TYPE=INTEGER,
$$FILEM NIINTEGER=-1,
$$FILEM ROWS=ALL
/*

戻りコード

DBX 関数からの戻りコードは次のとおりです。

0
関数の処理が正常に完了しました。
16
重大なエラーが発生しました。

関連機能

DBI
順次ファイルまたは VSAM ファイルから Db2® 表へのデータのインポート (DBI (インポート) バッチ・コマンド)
DBC
ある Db2® オブジェクトから別のオブジェクトへのデータのコピー (DBC (コピー) バッチ・コマンド)
D2G
Db2® データの作成 (生成) (D2G (データ生成) バッチ・コマンド)