0

我正在尝试自动每周生成数据库。作为此过程的第一步,我需要从 network location 获取一组文件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 步返回的文件名中没有错误。

显然,我宁愿不必先手动打开所有文件以确保 Spoon 可以正确复制它们。有谁知道可能导致这种行为的原因?

为了完整起见,以下是COPY/MOVE FILES步骤中选择的参数。

文件复制对话框

4

2 回答 2

2

我与不同的客户面临同样的问题,最后我尝试了一些基本的方法,它得到了解决。它也可能对您的情况有所帮助。

此外,其他用户可以遵循此规则。

试试这个:使用 Spoon Job“创建文件夹”创建所有必需的文件夹,并在创建文件夹后从您的工作或转换中停用/删除这些跃点。

这是因为,您用来删除文件的用户未被识别为 Windows 用户。文件夹到位后,您可以从作业中删除“创建文件夹”步骤。

为删除文件而创建的作业

于 2016-05-17T10:06:17.090 回答
0

文件路径错误。如果你在 Windows 环境中运行 spoon,你应该使用 Windows 格式的文件路径。尝试从

"file:///M:/FILESOURCE/FILENAME.zip"

"M:\FILESOURCE\FILENAME.zip"

顺便说一句,只有当 M: 是机器中的实际驱动器时,它才会起作用。如果你想访问网络中的文件,你应该使用共享文件夹的网络路径,这样:

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

或者

"\\MachineName\FILESOURCE\FILENAME.zip"

如果您尝试访问网络安装驱动器中的文件,它将无法正常工作。

于 2016-02-08T20:42:47.567 回答