DB2 for i → CSVファイルへのエクスポート CPYTOIMPFコマンド

IBM Power Systems
DB2 for i → CSVファイルへのエクスポート CPYTOIMPFコマンド
DB2 for i(DB2/400)ファイルを
ファイルをCSV形式でエクスポートする
形式でエクスポートするOS/400コマンド。
コマンド。CSV
ファイルを
形式でエクスポートする
コマンド。
ファイルはIFSの任意のディレクトリー
の任意のディレクトリー(フォルダー
ファイルは
の任意のディレクトリー フォルダー)上に作成されます。
フォルダー 上に作成されます。
作成したCSVファイルをネットサーバー、
ファイルをネットサーバー、FTP等でクライアントから使用できます。
等でクライアントから使用できます。
作成した
ファイルをネットサーバー、
5250端末のコマンドライン、
端末のコマンドライン、CLPプログラムから実行できます。
プログラムから実行できます。
端末のコマンドライン、
データベースをCSVに変換するための定義等をクライアント側に作成する必要はあ
に変換するための定義等をクライアント側に作成する必要はあ
データベースを
りません。
例) /home/QPGMR/ITEM01.CSV
にエクスポート
DB2/400
① CPYTOIMPF
CSVファイル
物理ファイル
コマンド
論理ファイル
IBM i (OS/400)
② ネットサーバーで
/home/QPGMR を
ネットワークドライブとし
てアクセス可に設定
③ Windowsクライアント
の場合、FTPやネット
サーバー等でCSVファ
イルを取得可能
© 2015 IBM Corporation
IBM Power Systems
CPYTOIMPFコマンド IBM i 7.2での機能拡張
IBM i 7.2では以下の
では以下の2つのパラメーターが追加されました。
では以下の つのパラメーターが追加されました。
ORDERBY
順序
ADDCOLNAM
カラム名の追加
文字値, *NONE,
*ARRIVAL
*NONE, *SQL,
*SYS
オプショナル
オプショナル
CPYTOIMPFコマンドの全パラメーターと使用法は下記リンクから参照できます。
コマンドの全パラメーターと使用法は下記リンクから参照できます。
IBM i 7.2 http://www01.ibm.com/support/knowledgecenter/ssw_ibm_i_72/cl/cpytoimpf.htm?lang=ja
IBM i 7.1 http://www01.ibm.com/support/knowledgecenter/ssw_ibm_i_71/cl/cpytoimpf.htm?lang=ja
IBM i 6.1 http://www01.ibm.com/support/knowledgecenter/ssw_ibm_i_61/cl/cpytoimpf.htm?lang=ja
2
© 2015 IBM Corporation
IBM Power Systems
CPYTOIMPFコマンド ORDER BYパラメーター
ORDER BYパラメーター
– エクスポート時のソート順を指定
• *NONE:指定なし、(省略値)
• *ARRIVAL:テーブル(物理レコード)のレコード順と同じ順でエクスポートされる
• SQLのORDER BY 句 : ORDER BY 句に従ってエクスポート
*ARRIVALの例
– CPYTOIMPF FROMFILE(QEOL/TOKMSP)
TOSTMF('/home/QPGMR/TOKMSP.CSV')
RCDDLM(*LF) ORDERBY('*ARRIVAL')
ORDER BY句の例
– CPYTOIMPF FROMFILE(QEOL/TOKMSP)
TOSTMF('/home/QPGMR/TOKMSP.CSV’)
RCDDLM(*LF) ORDERBY(' DEPTNO ASC FETCH FIRST 5 ROWS
ONLY ')
3
© 2015 IBM Corporation
IBM Power Systems
CPYTOIMPFコマンド ADDCOLNAMパラメーター
ADDCOLNAMパラメーター
– エクスポートしたファイルの第一レコードにフィールド名(列名)を追加有無を指定
• *NONE:フィールド名は追加されません、(省略値)
• *SQL:SQL列名から取得したフィールド名が付加されます
• *SYS:システム名称から取得したフィールド名が付加されます。
4
© 2015 IBM Corporation
IBM Power Systems
サンプル例
右CREATE TABLE文で作
成したテーブルを使用しま
す。
フィールド(カラム)定義
-フィールド名 FLD01_SYS
-代替名 FLD01
-カラム見出し FLD01_MID1
5
© 2015 IBM Corporation
IBM Power Systems
サンプル例
右のようなレコードを格納
・到着順レコード番号では
FLD01_xxxはランダムな値
6
© 2015 IBM Corporation
IBM Power Systems
CPYTOIMPFコマンド ORDER BYパラメーター
ORDER BY(FLD01) を指定
CSVファイル上でのレコード並
び順がFLD01の順序でソート
されます。
ORDERBY(‘ FLD01 ASC’)等
SQL構文に従った指定も指定
可能です。
7
© 2015 IBM Corporation
IBM Power Systems
CPYTOIMPFコマンド ORDER BYパラメーター
ORDERBY(‘ FLD01 ASC
FETCH FIRST 3 ROWS
ONLY ’) と指定。
条件合致する最初の3レコード
をCSVにエクスポートします。
8
© 2015 IBM Corporation
IBM Power Systems
CPYTOIMPFコマンド ADDCOLNAMパラメーター
ADDCOLNAMを指定しない
場合、カラム名はCSVに出力
されません。
ADDCOLNAM(*SQL)を指定
代替名がCSVファイルの第一
行目に追加されます。
9
© 2015 IBM Corporation
IBM Power Systems
CPYTOIMPFコマンド ADDCOLNAMパラメーター
ADDCOLNAM(*SYS)を指定
フィールド名がCSVファイルの
第一行目に追加されます。
*注意事項
SQLのCREATE TABLE文を使
用せずに、DDSでCRTPFコマン
ドで生成したPF(テーブル)につ
いてはADDCOLNAMパラメータ
ーでフィールド名称をエクスポー
ト出来ない場合があります。
10
© 2015 IBM Corporation