0

データベースの毎週の生成を自動化しようとしています。このプロセスの最初のステップとして、ネットワークの場所から一連のファイルを取得する必要がありますM:\。プロセスは次のとおりです。

  1. 古いソース ファイルが残っている可能性がある場合は、ローカル フォルダー ( ) から削除しますREMOVE_OLD_FILES
  2. 正規表現を使用して、必要なファイルの名前を取得します ( GET_FILES)。
  3. さらに処理するために、ネットワークの場所からローカル フォルダーにファイルをコピーします ( COPY/MOVE FILES)

取得プロセス

ステップ 3 で問題が発生します。次のエラーが頻繁に表示されます。

Error processing files. Exception : org.apache.commons.vfs.FileNotFoundException: Could not read from "file:///M:/FILESOURCE/FILENAME.zip" because it is a not a file.

ただし、ネットワーク上の場所で「エラーのある」ファイルを手動で見つけて、それを開くかコピーしようとすると、問題はありません。次に Spoon ジョブを再実行すると、このファイルでエラーは発生しません (ただし、次のファイルでエラーが発生する可能性があります)。

これまでのところ、手順 1 と 2 が正しく実行されることを確認しました。具体的には、手順 2 から返されたファイル名にエラーはありません。

明らかに、スプーンがファイルを正しくコピーできるようにするために、最初にすべてのファイルを手動で開く必要はありません。この動作を引き起こしている原因を知っている人はいますか?

完全を期すために、このステップで選択したパラメーターを以下に示しますCOPY/MOVE FILES

ファイルコピーダイアログ

4

2 に答える 2

0

ファイルへのパスが間違っています。Windows 環境でスプーンを実行している場合は、ファイルパスに Windows 形式を使用する必要があります。から変更してみてください

「file:///M:/FILESOURCE/FILENAME.zip」

「M:\ファイルソース\ファイル名.zip」

ちなみに、M: がマシン内の実際のドライブである場合にのみ機能します。ネットワーク内のファイルにアクセスする場合は、次のように共有フォルダーへのネットワーク パスを使用する必要があります。

"\\MachineName\M$\FILESOURCE\FILENAME.zip"

また

「\\MachineName\FILESOURCE\FILENAME.zip」

ネットワークにマウントされたドライブのファイルにアクセスしようとしても、うまくいきません。

于 2016-02-08T20:42:47.567 に答える