SQL発行をバッチで行う(SQL Server版)
※実施は自己責任でお願いします。
[前提]
・SQL Serverインストール済み
・バージョン○○(詳しくは忘れました!)
[動作確認済みの環境]
・Windows7 Professional
・SQL Server 2008 R2
・WindowsServer2008 R2
・SQL Server 2008 R2
[ソース]
・SQL発行(SQLServer).bat
@echo off setlocal @rem DB設定関係 set DBId=MyID set DBUser=MyUser set DBPass=password set DBName=MyDB set SqlStr=update TableName set Col1=null, Col2=null; rem SQL結果判定 set TmpLogFile=TmpLogFile.log set ErrFlg=0 rem データ消す sqlcmd -S %DBId% -U %DBUser% -P %DBPass% -d %DBName% -Q "EXIT(%SqlStr%SELECT @@ERROR;)">"%TmpLogFile%" @rem 結果判定 if %ERRORLEVEL% NEQ 0 (set ErrFlg=1) if %ERRORLEVEL% NEQ 0 ( echo →[異常]Update失敗:err=%ERRORLEVEL% echo ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ type "%TmpLogFile%" echo ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑ ) @rem エラー判定 if %ErrFlg% NEQ 0 ( echo --------------------------------------------------------------------------- echo DB書込中に一部エラー発生 echo --------------------------------------------------------------------------- pause ) else ( del /F "%TmpLogFile%" ) rem 終了 endlocal exit /b 0
[その他]
・ローカル処理をWeb公開用に整形したものなので、動作保証できません。
・エラー判定はうまくイケてたかどうか忘れました。とりあえずつけただけだったかも。