永遠のプログラマ☆

高齢者でもプログラマ(4x年)

起きていることは全て正しい☆

こんにちは。

コンビニやお店の細かい支払いは、

PASMOオンリー。

 

小銭持ち歩くのは、コイン洗車場。

洗車場のジュース自販機で

千円札突っ込んで

釣銭ゲットしたいけど

いつも釣銭切れ。

 

さて、Windows BATファイルのお仕事。

やることはシンプル。

EXE呼び出したり

SQL文実行したり

 

こりゃ、ラクチン。

鼻歌まじりでスタート。

 

だが、ステップ数が増えるにつれて

何だぁ、このエラーはぁ。

変数に期待した値が入らない。

確かにセットしてるのに。

 

うーむ、わからん。

トシだぁ。

試行錯誤の連続。

 

・( の使い方が誤っています。
・ECHO は <OFF> です。

・ECHO は <ON> です。

 

ググると皆さま、

ご苦労されてる様子。

 

このサイト、参考になりました。ペコリ。

 

 

qiita.com

 

SQLCMDでもハマりました。

 

sqlcmd -S server -d dbname -U sa -P pass -i sql.txt

 

サクッと終了しますが、実行されてない。

エラーメッセージも出ない。

 

SSMSで、

そのSQLテキストをコピペして実行。

正常終了。

 

 

原因は、UTF-8

 

-i で指定するSQL文ファイル(sql.txt)、

UTF-8 文字を含むときは、BOMが必要。

 

BOM付で テキストファイルを作成しないと、

実行してくれない。

 

しかし、

エラーメッセージも出さないのは不親切。

 

教訓:

起きていることは全て正しい。

その状況を素直に受け入れる。

 

どんな事が起きても

「そういうものだ」

と一度、

心の中で唱える。

 

そして

悩まずにググる

 

素直に、WSH で良かったかも。