コマンドプロンプトから引数つきでバッチを起動し、Oracleに値を渡すときのメモ。
バッチファイルが引数を読み込むときは、 %0, %1 ... %n で、
SQLファイルが引数を読み込むときは、 &0, &1 ... &n であるのがわかれば楽勝。
【コマンドプロンプトで実行】
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\ test.bat aaa bbb
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
↓
【test.bat (バッチファイルの例)】
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
echo %0 ( test.bat が表示される )
echo %1 ( aaa が表示される )
echo %2 ( bbb が表示される )
sqlplus 表領域/ユーザ@パスワード @xyz.sql %0 %1 %2
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
↓
【xyz.sql (Oracle 処理の例)】
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.....
ret := func( &0, &1, &2 ); /* 引数として、('test.bat', 'aaa' ,'bbb') が渡る */
.....
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
0 件のコメント:
コメントを投稿