バッチファイルから
・bcpコマンドを使用して
・レコードをエクスポート
できます!
bcpコマンドよるエクスポート方法は
・テーブル名のみを指定して、全レコードを取得
・SELECT文を指定して、条件に合致したレコードを取得
の2つがあります。
サンプルプログラムの概要
bcpコマンドを使用して、以下のテーブル「EMPLOYEE」のレコードをcsvファイルへエクスポートします。
サンプルプログラム作成
ファイル名
export_record.bat
記載するコード
@echo off
REM サーバー名(サーバーのPC名\インスタンス名)
set dbServer=localhost\SQLEXPRESS
REM データベース名
set dbName=sampleDB
REM ユーザー名
REM set userName=sampleUser
REM パスワード
REM set password=password
REM 出力フォルダ
set outputFolder=C:\Users\user\Desktop\sqlserver_sample\export\
REM #####################
REM Windows認証の場合
REM #####################
REM ★テーブル名のみを指定して、全レコードを取得する
bcp EMPLOYEE out %outputFolder%EMPLOYEE.csv -S %dbServer% -d %dbName% -T -c -t ","
REM ★SELECT文を指定して、条件に合致したレコードを取得する
REM bcp "SELECT TOP(1) * FROM EMPLOYEE" queryout %outputFolder%EMPLOYEE.csv -S %dbServer% -d %dbName% -T -c -t ","
REM #####################
REM SQL Server認証の場合
REM #####################
REM ★テーブル名のみを指定して、全レコードを取得する
REM bcp EMPLOYEE out %outputFolder%EMPLOYEE.csv -S %dbServer% -d %dbName% -U %userName% -P %password% -c -t ","
REM ★SELECT文を指定して、条件に合致したレコードを取得する
REM bcp "SELECT TOP(1) * FROM EMPLOYEE" queryout %outputFolder%EMPLOYEE.csv -S %dbServer% -d %dbName% -U %userName% -P %password% -c -t ","
pause
実行
レコードがエクスポートされた旨が表示されました。
コピーを開始しています...
2 行コピーされました。
ネットワーク パケット サイズ (バイト): 4096
クロック タイム (ミリ秒) 合計 : 1 平均 : (2000.00 行/秒)
続行するには何かキーを押してください . . .
結果
エクスポートされたcsvファイルをテキストエディタで開くと、レコードがエクスポートされていることを確認できます。
00001,鈴木一郎,男,営業課
00002,佐藤次郎,男,経理課