复制/移动PDI / Spoon中的文件产生'不是文件'错误

时间:2015-12-31 11:00:11

标签: pdi pentaho-spoon

我正在尝试自动化每周生成一个数据库。作为此过程的第一步,我需要从网络位置M:\获取一组文件。过程如下:

  1. 从我的本地文件夹(REMOVE_OLD_FILES)中删除任何可能剩余的旧源文件。
  2. 使用正则表达式(GET_FILES)获取所需文件的名称。
  3. 将文件从网络位置复制到我的本地文件夹,以便进一步处理(COPY/MOVE FILES
  4. The acquistion process

    第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步骤中选择的参数。

    File copy dialog

2 个答案:

答案 0 :(得分:2)

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

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

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

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

Job Created to Delete a File

答案 1 :(得分:0)

文件的路径错误。如果您在Windows环境中运行勺子,则应使用Windows格式的文件路径。尝试从

更改
  

“文件:/// L:/FILESOURCE/FILENAME.zip”

  

“M:\ FILESOURCE \ FILENAME.zip”

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

  

“\\计算机\ M $ \ FILESOURCE \ FILENAME.zip”

  

“\\计算机\ FILESOURCE \ FILENAME.zip”

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