5

我有一个文件系统任务,使用 UNC 路径将本地文件复制到远程驱动器。最近目标文件服务器被移动了,所以我更新了路径,但现在我收到了这个错误消息:

 [File System Task] Error: File or directory "\\path\filename.ext" represented by connection "XYZ" does not exist.

该文件绝对存在;还有什么可能导致此错误?

我可以将确切的路径复制到“运行”对话框中并毫无问题地打开文件。我还可以浏览目标文件夹,并且可以在 VS 之外写入或删除文件。如果可能相关,我对父文件夹没有任何权利。

文件连接设置为现有文件。文件系统任务设置为覆盖。路径是硬编码的,而不是表达式或变量。该报告已经运行了几个月,现在改变的只是文件服务器和路径。旧的路径也是 UNC。

我在网上找到的大部分内容都与部署有关,但我正在运行包的服务器上进行开发(我知道,这并不理想),与运行包的帐户相同。无论如何,在通过 SQL 代理运行或在 VS 中进行调试时,我都会遇到同样的错误。

最令人抓狂的是,其他 SSIS 作业毫无问题地写入同一个文件夹。但是,这些包括一个后续执行脚本任务,该任务重命名发布的文件,因此它们运行时不存在确切的目标文件。这个包每天都会覆盖同一个文件。如果我不能解决这个问题,我也会在这里添加这样的任务。

如果我删除目标文件,任务将运行...一次。第二天,包将失败,因为目标将再次出现,问题似乎在于覆盖现有文件。当然我可以插入一个“删除”文件系统任务......除了它还声称目标不存在。

我试过重新创建文件连接和文件系统任务,没有改变。

文件系统任务的屏幕截图

4

1 回答 1

6

很久以前我有同样的问题,这个解决方案对我有用。

我的错误是由于使用了 UNC 路径,并且运行包的帐户无法访问ALL路径中的文件夹和文件。

在内部,SSIS 包正在尝试列出 中的所有文件和目录\\path,如果这样做会引发异常,则会收到该错误。

要解决此问题,您需要确保运行 SSIS 包的帐户有权访问ALL您正在访问的路径中的文件夹和文件。

要检查这是否有效,请以相关帐户登录,或以指定用户身份运行命令窗口,然后检查您是否拥有所有文件和子目录的完全权限。

也许你有同样的问题。值得一试。

于 2013-08-07T09:32:49.823 回答