Pages

2014/01/01

[SQL Server] テーブルのデータを CSV ファイルとして出力


bcp ユーティリティ を使用すると、コマンドから SQL Server に対してデータの入出力を行うことができる。バッチファイルを作成しておけば、タスクスケジューラを使って簡易的な自動バックアップを行える。
なお、bcp ユーティリティは、コマンドプロンプトからコマンドを叩くことで実行する。

[ 使用例 ]
TESTSVR サーバーに、ユーザー名 usr、パスワード pwd で入り、HOGE_DB にある dbo 所有の HOGEUSR テーブルのデータをカンマ区切りで D ドライブ直下に ファイル名「HOGEUSR.csv」で出力する。出力するファイルは -w で Unicode を指定している。
bcp HOGE_DB.dbo.HOGEUSR out d:\HOGEUSR.csv -S "TESTSVR" -U "usr" -P "pwd" -w -t, -t

CSV ではなく、TSV 出力をする。
bcp HOGE_DB.dbo.HOGEUSR out d:\HOGEUSR.tsv -S "TESTSVR" -U "usr" -P "pwd" -w -t

bcp ユーティリティで SQL コマンドを使用する場合は、以下のような記述となる。

NM 列が "taro" であるレコードを抽出。
bcp "SELECT * FROM HOGE_DB.dbo.HOGEUSR WHERE NM = 'taro' " queryout "d:\HOGE_TARO.csv" -S "TESTSVR" -U "usr" -P "pwd" -w -t,
bcp ユーティリティ -msdn
http://msdn.microsoft.com/ja-jp/library/ms162802.aspx
Related Posts Plugin for WordPress, Blogger...