クエリの結果に応じて、いくつかのファイルを RedHat Linux の「拒否された」ディレクトリに移動する方法を探しています。データベースは Oracle 11gr2 です。
4 つのファイルすべてが一度に処理されます。ファイルは FTP プロセスによって共有に配置され、スケジュールされた OEM ジョブが 15 分ごとに XML ファイルの存在をチェックします。
処理する XML ファイルがあることがわかると、それらをピックアップし、xmllint で検証して、ファイルを作業ディレクトリにコピーします。
そこからWHERE
、クエリ内の句の結果に応じて、ファイルが外部テーブルにロードされます。
ファイルが失敗した場合、またはファイルに 1 つの不良レコードが含まれている場合、ファイルをrejected
フォルダーに移動することは、ロード プロセス中に行う必要がありますか?
私のテスト ケースには 4 つの XML ファイルがあります。
- 1が正解です。
- 問題なくロードされました。
- 1 には 1 つの悪いレコードと 1 つの良いレコードがあります
- 正しいレコードは適切にロードされ、偽のレコードは正しくロードされません。しかし、「悪い」ファイル全体をロードしないようにしたいのですが、オラクルにロードしなかった後、ファイルを「拒否された」フォルダに移動したいと思います。
- 1 に XML エラーがあります
- xmllint によって正しく拒否され、「拒否済み」フォルダーに移動されました。
- 1 タグ内の値がありません。
- 必須の値を満たしていないため、却下されました。
前もって感謝します!