【问题标题】:Failure to find SSIS variable in For Each Loop在 For Each 循环中找不到 SSIS 变量
【发布时间】:2014-08-19 11:22:46
【问题描述】:

我是一位经验丰富的 SQL 用户,但对创建 SSIS 包的了解有限。 我正在组合一个包来转换和上传多个日志文件,以从源位置迭代地选择文件。

为此,我使用了以下深入教程:How do I move files to an archive folder after the files have been processed?

我已按照每个步骤将其应用到我的包中,但出现以下错误:

错误:包中的 0xC00470A6:在变量集合中找不到变量“User::FilePath”。该变量可能不存在于正确的范围内。

错误:0xC0047098 在包:尝试解析表达式“@[User::FilePath]”失败并返回错误代码 0xC00470A6。无法解析表达式。它可能包含无效元素或格式不正确。也可能存在内存不足错误。

我已经从头开始重建包,确保我已经将变量名拖到表达式中,但是同样的错误仍然存​​在。

现在真的不确定如何进行,希望得到任何指点!

[编辑] - 只是指出我在 VS 2013 中使用 SSIS - 现在有“参数”和“变量”,我想知道这是否可能是问题 - 例如变量需要参数化吗? 推理:当我转到 Flatfile 连接属性的“表达式生成器”时,列表中没有变量,但是当您通常从中提取变量引用时,有一个空的“项目参数”文件夹。

【问题讨论】:

    标签: foreach ssis


    【解决方案1】:

    想通了,所以我想我会在这里发布这个以帮助其他发现自己处于相同情况的人!

    在控制流选项卡下,右键单击连接管理器,然后选择“转换为项目连接” - 这允许访问指定包的所有运行时变量。

    当你知道自己在做什么时很简单。

    【讨论】:

    • 你确定这不是区分大小写的问题吗?我听从了你的建议,没有任何改变,但后来我意识到我在写小写的情况下调用变量。我认为项目连接仅适用于特定项目,而包连接可以共享。因此,这对我来说没有多大意义。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-11-12
    • 1970-01-01
    • 1970-01-01
    • 2016-09-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多