DBからCSV形式でデータを出力するバッチを作成しております。
実行し、出力したデータの件数をログファイルに記載するようにしたく、
SQL
1Rem SQL実行 2echo バッチ処理を開始します >> %LOG% 3echo 開始時刻:%DATE%%TIME% >> %LOG% 4echo %UID%/%PASS%@%SID% >> %LOG% 5sqlplus -s %UID%/%PASS%@%SID% @%SQLFILE% %LISTFILE% 6SET NOCOUNT OFF; 7rem type C:\BAT\XXXX.csv | find /c /v "">> %LOG% 8echo バッチを正常終了します >> %LOG%
上記の.batを実行したところ、
「環境変数 NOCOUNT OFF; が定義されていません」
というメッセージが表示されました。
環境変数のPathにNOCOUNT OFF;を追加したり、
SET NOCOUNTを追加したりしてみましたが、
同じ結果でした。
「環境変数に定義する」とはどのような設定が必要でしょうか。
また、
1.SET NOCOUNT よりも適している書き方
2.環境変数について理解が不足しているため、これを機に覚えておくべきこと
があればご教授お願い致します。
~追記~
SQL
1Rem SQL実行 2echo バッチ処理を開始します >> %LOG% 3echo 開始時刻:%DATE%%TIME% >> %LOG% 4echo %UID%/%PASS%@%SID% >> %LOG% 5sqlplus -s %UID%/%PASS%@%SID% @%SQLFILE% %LISTFILE% 6SET NOCOUNT = OFF; 7echo バッチを正常終了します >> %LOG%
一旦、SET NOCOUNT = OFF; の記述に変更したところ、
「環境変数 NOCOUNT OFF; が定義されていません」は出なくなりました。
しかし、まだログに件数が出ているわけではないので、
継続して試行錯誤してみます。