読者です 読者をやめる 読者になる 読者になる

小さい頃はエラ呼吸

いつのまにやら肺で呼吸をしています。


Oracleの「SQLcl」を使ってテーブルデータをCSVファイルに出力する

oracle
はじめに

OracleのCommand Lineツール「SQLcl」を使ってテーブルの内容をCSVファイルに出力してみます。

環境
  • Windows Server 2008 R2
  • Oracle Database 11g 11.2.0.1.0
  • JRE Version8 Update 45

Oracleの現場を効率化する100の技
鈴木 健吾 玉置 雄大 塩原 浩太 小林 修 大森 慎司 内村 友亮
技術評論社
売り上げランキング: 22,044

  • Command Lineツール「SQLcl」の入手

SQLclは、以下のページからダウンロードすることができます。

f:id:replication:20150521015601p:plain

JREを入手する

SQLclの実行には、JREが必要なため、以下のページからJREをインストールします。

テーブルの内容をCSVに出力する

1.sqlcl\binフォルダ配下のsql.batをダブルクリックします。

SQLcl: 木 5 21 01:39:46 2015のリリース4.1.0 Release Candidate

Copyright (c) 1982, 2015, Oracle.  All rights reserved.


ユーザー名 (''?)

2.ユーザ名を入力します。
3.パスワードを入力します。
4.データベース名を入力します。

SQLcl: 木 5 21 01:39:46 2015のリリース4.1.0 Release Candidate

Copyright (c) 1982, 2015, Oracle.  All rights reserved.


ユーザー名 (''?) hoge
パスワード (**********?) ********
データベース (''?) orcl
謗・邯壼・:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

ログインできました。文字化けしていますが気にしません。

5.set sqlformat csvと入力します。
6.以下のクエリを発行し、csvファイルを出力します。

SQL> set sqlformat csv
SQL> spool c:\hoge.csv
SQL> select * from table01

"ID","NAME","FURIGANA","SEIBETSU","BIRTHDAY"
"00000001","螻ア逕ー 螟ェ驛・,"繧・∪縺 縺溘m縺・,"逕キ","20150101"
"00000002","菴占陸 螟ェ驛・,"縺輔→縺・縺溘m縺・,"逕キ","20150102"


SQL> spool off

cドライブ直下にhoge.csvというファイル名でCSV形式のファイルが出力されています。
f:id:replication:20150521015702p:plain
最後にデータ以外の部分を消して保存しなおせば、立派なCSV形式のファイルになります。