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