CA Workload Control Center (Autosys) を使用して Windows バッチ ファイルを実行しています。このバッチ ファイルは、SQLPlus を呼び出す別のバッチ ファイルを次のように呼び出します。
sqlplus ユーザー名/パスワード %1 %2 %3
これはすべてリモートで行われているため、サーバーで実際に何が起こっているのかわかりません。
sqlplus ファイルが存在するが無効な構文 (存在しないテーブルを参照するなど) がある場合、sqlplus プロンプトは終了し、バッチ ファイルに戻りますか?
私が尋ねる理由は、Autosys からのログ ファイルを見ていて、SQLPlus 呼び出しが行われたことを示しているためです。エラー AT LINE 2: 無効なテーブルが出力されますが、その後、バッチ スクリプトで他のアクティビティは表示されません。複数のエコーやファイルのコピーなどがあります。おそらく SQLPlus を終了していないように見えますか?
失敗した場合に SQL スクリプトを実行した後、SQLPlus を終了して呼び出し元のスクリプトに戻るように SQLPlus に渡す必要があるパラメーターはありますか?
編集:SQLファイル内でも「WHENEVER SQL ERROR」を使用しており、ログファイルには次のように表示されます。
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Data Mining and Real Application Testing options
しかし、バッチ スクリプトの残りの部分を続行する必要があることをまだ期待していますが、そうではありません。上記は、Autosys がログに表示する最後のものです。