SSIS DTS包平面文件错误 - “连接中指定的文件名无效”

问题描述:

我有一个非常基本的SSIS包,它尝试读取共享上承载的文件,并将其内容导入数据库表。当我在SSIS中手动运行它时,包运行良好。然而,当我成立了一个SQL代理作业,并尝试执行它,我收到以下错误:SSIS DTS包平面文件错误 - “连接中指定的文件名无效”

Executed as user: DOMAIN\UserName. Microsoft (R) SQL Server Execute Package Utility Version 9.00.3042.00 for 64-bit Copyright (C) Microsoft Corp 1984-2005. All rights reserved.
Started: 10:14:17 AM Error: 2010-05-03 10:14:17.75 Code: 0xC001401E Source: DataImport Connection manager "Data File Local"
Description: The file name "\10.1.1.159\llpf\datafile.dat" specified in the connection was not valid. End Error Error: 2010-05-03 10:14:17.75 Code: 0xC001401D
Source: DataAnimalImport
Description: Connection "Data File Local" failed validation. End Error DTExec: The package execution returned DTSER_FAILURE (1). Started: 10:14:17 AM Finished: 10:14:17 AM Elapsed: 0.594 seconds. The package execution failed. The step failed.

这使我相信这是一个权限问题,但每次尝试我做了修复它失败。

我试过到目前为止:

  • 运行的SQL代理帐户(域\ SQLAGENT) - 中得到同样的错误。 DOMAIN \ SqlAgent对共享和上传的文件都具有“完全控制”权限。

  • 使用不同帐户的凭证(DOMAIN \ Account)设置代理帐户 - 产生相同的错误。像上面一样,“完全控制”权限被分配给该帐户。

  • 给出“每个人”对该共享(临时!)的完全控制权限。产生同样的错误。

  • 手动将文件复制到本地路径并使用SQL代理帐户进行测试。正常工作。

  • 添加了一个ActiveX脚本任务,该任务首先将远程托管的文件复制到本地路径,然后让DTS包引用本地文件。尝试运行该脚本时,出现完全不具描述性(即使通过SSIS标准)错误。

  • 使用我自己的个人帐户的凭据设置代理帐户 - 工作正常。但是,这不是一个可以接受的解决方案,因为我的帐户上存在密码策略,并且通常以这种方式设置密码策略是一种不好的做法。

任何想法?我仍然相信这是一个权限问题。但是,我从各种搜索中读取的或多或少的内容表明,对共享执行帐户权限应该可行。但是,这里并不是这种情况(除非我在设置共享权限时丢失了某些模糊内容)。

糟糕。看起来我在文件夹上设置了权限,但不在共享上。一旦权限被放到共享上,就开始工作。我的错。

根据您上次的测试,显然这与权限有关,而您的帐户拥有的权限与其他帐户的权限之间存在差异。 包装的保护等级是多少?

+0

它设置为DontSaveSensitive。 – MisterZimbu 2010-05-03 17:14:13

我知道这个帖子是旧的,但我只是面临同样的问题 我认为你们使用的是“sa”用户,并且它对持有此软件包的文件夹没有特权,请尝试使用Windows登录SQL验证,然后尝试导入包。

为我工作,希望它能为你工作。