【问题标题】:SSIS Package Configuration - where to set variable propertySSIS 包配置 - 在哪里设置变量属性
【发布时间】:2013-09-23 07:26:41
【问题描述】:

我在 SSIS 包配置中注意到,在选择要添加到配置文件的属性时,通常会列出该属性的多个版本。比如我可以通过这个路径添加一个包变量属性:

包->变量->变量名->属性

但我也可以通过这些路径访问相同的属性:

包->可执行文件->变量->变量名->属性

包->连接管理器->连接->变量->变量名->属性

第一个问题是这是什么原因?其次,将属性添加到配置文件中的最合适的选项是什么?

【问题讨论】:

    标签: ssis


    【解决方案1】:

    原因是封装/作用域,一切都是可配置的。

    如果您在包级别范围内创建变量,则添加到该包的所有内容都可以访问和使用它。添加一个序列容器,在里面添加一个 Foreach 循环,在里面添加一个执行 SQL 任务到一个数据流到一个文件系统任务。您可以在每个对象上创建一个变量。 thing 中包含的所有内容都对这些变量具有可见性。我的 Foreach 循环定义并填充 CurrentFileName,它由执行 SQL 任务(记录我正在处理的文件)、使用正确源文件的数据流和最后的文件系统任务将其推送到存档中使用。 可能不需要该变量在该范围之外可见。我将创建一个不在包范围内的变量的特定场景是,如果我正在并行加载东西——比如维度加载。我通过维度列表处理了 3 个 Foreach 枚举器。我很懒,每个枚举器内部都有相同的代码,只是使用不同的源列表。

    除此之外,您通常不希望在包范围以外的任何范围内创建 SSIS 变量。否则,您可能会花费太多时间单击对象以查找变量(包资源管理器选项卡在这种情况下会很有帮助)

    我对配置的经验法则是只选择 Value 或 ConnectionString(取决于它是变量还是连接管理器),并且只在根级别选择它。

    最后,如果你没有BIDS Helper,它是一个免费的 VS 插件,可以让 SSIS/SSAS/SSRS 开发的痛苦少得多。

    【讨论】:

    • 感谢您的解释,这很有帮助。我也会查看 BIDS Helper
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多