バッチでオラクルデーダベースに接続してデータ抽出を行う。
抽出結果はtxt形式、ログには実行時刻をファイル名につけて出力する。
仕事でどうしても中身だけが欲しく、形式はどうでもいいときに作ったスクリプトです。
カスタマイズすれば使える形だと思ったので、備忘録として記録します。
###実行環境
windows server 2008 R2 Standard
###バッチ構成
D:
|--¥#Batch開発
|
|--bat
| |--テストora.bat
| |--LOG
|
|--sql
|--テストora.sql
###テストora.bat
テストora.bat
SET ID=usr_taro
SET PW=test_pass
SET TNS=TS
SET dd=%DATE:~0,4%%DATE:~5,2%%DATE:~8,2%
SET d2=%DATE:~5,2%%DATE:~8,2%
SET tt=%TIME:~0,2%%TIME:~3,2%
SQLPLUS %ID%/%PW%@%TNS% @D:¥#Batch開発¥sql¥テストora.sql %d2% %tt%
###テストpos.sql
テストora.sql
SET echo on
SET linesize 2000
SET trimspool on
spool .¥出力結果ログ_&2._&1..log
spool D:¥#Batch開発¥bat¥LOG¥出力結果.txt
select a.日付,a.番号,count(0)
from usr_taro.table_kanri a
where a.日付 > 20190131
group by a.番号 ,a.日付
order by 3 desc;
spool off
###補足説明
結果、txtファイルにはecho offしていないので定義箇所が残り、
その下に抽出結果が表示されます。