Muni Bus

パソコンの操作方法や設定方法を忘れないようにメモしています。ブログを一回引っ越ししているので、所々表示がかなり乱れています・・・

【SQL Server】コマンドラインでテーブルのデータをファイルに出力する

bcpコマンドを使う。以下はSQL Server認証を使用した例。引数に指定した文字列は以下のとおり。

testtbl:テーブル名
output.tsv:出力ファイル名
testserver:サーバのIPアドレス
name:ログイン名
pass:パスワード
bcp testtbl out output.tsv -S testserver -U name -P pass -d testdb -c

-cオプションを付けることで、エクスポート時にフィールドの型に関する問合せがなくなり、型はcharであるとして一括で出力することができる。 各フィールドの区切り文字は水平タブ(0x09)となり、いわゆるTSV形式で出力される。各レコードの区切り文字はCR+LF(0x0d+0x0a)。 これをCSV形式にしたい場合は、-tオプションに区切り文字を指定する。

bcp testtbl out output.tsv -S testserver -U name -P pass -d testdb -c -t ","

デフォルトでは文字コードシフトJIS。これをUTF-8にしたい場合は-Cオプションに65001を指定する。

bcp testtbl out output.tsv -S testserver -U name -P pass -d testdb -c -C 65001