【bat】SQL SELECT結果出力 雛形

概要

SQL Serverに接続しSELECT結果をcsvに出力します。

【解説】
・クエリ文はbatファイルと同じディレクトリのsqlフォルダに保存した.sqlファイルを読み込みます。
・クエリにエラーが出た場合は、CSVファイルにエラーメッセージが表示されます。
・SELECT結果を出力すると1行目に余計行(–)ができるため、置換したうえで削除しています。

★要変更★ 部分を変更してご使用ください。

BAT (Batchfile)
@echo off
rem ----------★要変更★ SQL接続設定----------
set dbServer="localhost\dbServer"
set dbName="dbName"
set userName="userName"
set password="password"

rem ----------★要変更★ 保存名----------
SET FileName1="セレクト結果.csv"

rem ----------★要変更★ sqlパス----------
SET SQLPath1="%~dp0\sql\セレクト.sql"

rem ----------処理開始----------
rem このバッチが存在するフォルダをカレントに
pushd %0\..
cls

rem SQL実行
sqlcmd -S %dbServer% -d %dbName% -U %userName% -P %password% -i %SQLPath1% -b -s, -W -o 1.csv

rem 余計行削除(--)
findstr /V /R ^^- 1.csv >%FileName1%

rem 元ファイル削除
del 1.csv
rem ----------処理終了----------

pause
exit
BAT (Batchfile)