34
46

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

SQLServerのSELECT結果をファイルに出力する

Last updated at Posted at 2016-09-14

SQLCMDを使用することでコマンドプロンプトからSQL文を発行できます。
今回はスクリプトファイルに記述したSQL文をバッチファイルから実行し
その結果をテキストファイルに出力します。

##インストール
SQLCMDはSQLServerをインストールすれば使用できます。
単体で使用する場合はMicrosoftのサイトからFeature Packをダウンロードします。
この場合、環境変数にPATHが通っていないので設定します。

##スクリプトファイル
Query.sql

SELECT * FROM TestTable

※SELECT文の前に

SET NOCOUNT ON 

と書くと件数が出力されません。

##バッチファイル
テキストファイルに

@ECHO OFF 
CD %~dp0
SQLCMD -S localhost -U sa -P pass -d TestDb -i Query.sql -s, -W -h -1 -o Qutput.csv

と記述してTest.batとして保存します。
バッチを実行するとスクリプトファイルに記述したSELECT文の結果がQutput.csvに
カンマ区切りで出力されます。

##コマンドラインオプション

オプション 説明
-S サーバ名
-U ログイン
-P パスワード
-d データベース
-i スクリプトファイル
-s 区切り文字
-W 余計な空白を省く
-h -1でヘッダ非表示
-o 出力ファイル

SQLCMDユーティリティ
https://msdn.microsoft.com/ja-jp/library/ms162773.aspx

34
46
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
34
46

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?