SSIS无法识别文件路径

时间:2013-07-05 14:44:17

标签: visual-studio-2008 ssis file-connection

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

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

文件肯定存在;还有什么可能导致这个错误?

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

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

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

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

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

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

Screen cap of the File System Task

1 个答案:

答案 0 :(得分:4)

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

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

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

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

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

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