无法锁定变量。找不到变量

时间:2014-04-08 17:31:14

标签: ssis

在SSIS中,我尝试使用文件系统任务将文件移动到存档目录。这就是我的任务 - http://imgur.com/raPZIzL

当我运行程序包时,我在此任务上失败:错误:文件系统上的0xC0014054任务:无法锁定变量" \ xxx \ yyyy \ Eligibility \ SOURCE_ELIGIBILITY_IMPORT_0482014.CSV"用于读取访问,错误0xC0010001"找不到变量。当在程序包执行期间尝试从容器上的Variables集合中检索变量时,会发生这种情况,并且变量不存在。变量名称可能已更改或未创建变量。"。

我觉得有趣的是它没有找到变量,因为变量的初始值是“临时”。 (参见屏幕截图)然后我在此任务运行之前的几个步骤中在脚本任务中设置变量的值。所以我知道变量存在并且它具有正确的值(我可以在变量路径中打开文件)。我只是不知道为什么或如何解决这个问题。我在互联网上发现了其他人发布的相同消息,但没有一个解决方案适合我。我也不知道这可能是一个竞争条件,设置变量值的脚本任务在此任务运行之前完成了大约一秒钟。

我尝试删除文件系统任务并重新创建它,仍然会收到错误。我也重新启动了计算机思维可能有所帮助,但它没有。

编辑:更多信息...如果我将DelayValidation从True设置为False,我甚至会在运行之前得到相同的错误,尽管这次它在有机会之前抱怨变量的初始值在代码中设置。

以下是具体错误:

错误:0xC0014054在文件系统任务:无法锁定变量" \ XXX \ YYYY \ Eligibility \ SOURCE_ELIGIBILITY_IMPORT_0482014.CSV"用于读取访问,错误0xC0010001"找不到变量。当在程序包执行期间尝试从容器上的Variables集合中检索变量时,会发生这种情况,并且变量不存在。变量名称可能已更改或未创建变量。"。

错误:0xC002F304在文件系统任务,文件系统任务:出现以下错误消息时出错:"无法锁定变量" \ XXX \ YYYY \ Eligibility \ SOURCE_ELIGIBILITY_IMPORT_0482014.CSV"用于读取访问,错误0xC0010001"找不到变量。当在程序包执行期间尝试从容器上的Variables集合中检索变量时,会发生这种情况,并且变量不存在。变量名称可能已更改或未创建变量。"。 "

错误:0xC0014054在文件系统任务:无法锁定变量" \ XXX \ YYYY \ Eligibility \ Archive"用于读取访问,错误0xC0010001"找不到变量。当在程序包执行期间尝试从容器上的Variables集合中检索变量时,会发生这种情况,并且变量不存在。变量名称可能已更改或未创建变量。"。

错误:0xC002F304在文件系统任务,文件系统任务:出现以下错误消息时出错:"无法锁定变量" \ XXX \ YYYY \ Eligibility \ Archive"用于读取访问,错误0xC0010001"找不到变量。当在程序包执行期间尝试从容器上的Variables集合中检索变量时,会发生这种情况,并且变量不存在。变量名称可能已更改或未创建变量。"。

2 个答案:

答案 0 :(得分:9)

经过大量测试后,我发现表达式存在问题。似乎每次我进入表达式区域并将两个变量连接在一起时,就是问题开始时。

我只是选择一个基本目录并添加" Archive"到最后,在表达式构建器区域中,它将正确评估,但包将失败。但是,如果我打开文件任务进入编辑器并使用DestinationVariable属性的下拉列表并从该列表中选择一个变量,那么一切正常。

所以我最终创建了一些变量(我将要移动的每个文件一个),然后将该值设置为基本目录+" Archive",然后我从drop中选择了该变量DestinationVariable属性的下拉列表。跑了没有错误。

答案 1 :(得分:0)

确保在文件系统任务中目标变量和源变量显示变量名称

在每个使用完全限定名称..

祝你好运!