【问题标题】:Variable scope in SSIS config tableSSIS 配置表中的变量范围
【发布时间】:2014-02-27 00:12:47
【问题描述】:

我正在尝试更改我的 SSIS 包中一些变量的范围。他们依赖于数据库中的配置表,之前他们在数据库中使用以下值设置了他们的值:

\Package.Variables[User::EmailAddress].Properties[Value]

并且该值将在 ConfigurationValue 列中设置。

这就像一个魅力,除了一旦我将变量的范围从包更改为特定的 foreach 循环容器,我得到了以下错误:

Warning: The package path referenced an object that cannot be found: "\Package.Variables[User::EmailAddress].Properties[Value]". This occurs when an attempt is made to resolve a package path to an object that cannot be found.

其他全局范围的变量没有这个问题。这个字符串中是否有一些值告诉 SSIS 查看包级别而不是整个包?

【问题讨论】:

    标签: ssis config


    【解决方案1】:

    您可以采用以下两种方法之一 - 使用向导重新构建 DTSConfig,或更改文件中的路径以包含 ForEach Loop

    \Package\ForEachLoopName.Variables[User::EmailAddress].Properties[Value]
    

    【讨论】:

    • 编辑值无效。现在错误显示:警告:包路径引用了一个找不到的对象:“\Package.DownloadFiles.Variables[User::EmailAddress].Properties[Value]”。当尝试将包路径解析为无法找到的对象时,会发生这种情况。
    • 在这种情况下,重命名您的旧 DTSConfig,并使用您需要的变量从包中创建一个新的。然后将路径复制到原始文件,并交换它们。
    • Raj 采用第二种方法走在正确的轨道上。这只是确定变量的适当范围的问题。调出属性窗口 (F4),然后指向有问题的变量。您应该能够访问 PackagePath 属性,只要您不弄乱任何外壳,它应该可以正常工作
    • 好吧,你很接近,拉杰。它应该是 \Package\ForEachLoopName.Variables[User::EmailAddress].Properties[Value] 如果您可以编辑它,我会将其标记为已回答。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多