2012年2月28日火曜日

コマンドプロンプトから引数つきでバッチを起動し、Oracleに値を渡すには

コマンドプロンプトから引数つきでバッチを起動し、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 件のコメント:

コメントを投稿