【发布时间】:2010-03-18 13:50:04
【问题描述】:
SSIS中有没有类似全局变量的东西?我有 4 个变量(FromAddress、ToAddress、...),它们将在所有包 (32) 中使用。 因此,如果我只能设置它们一次,它将非常容易在所有软件包中使用,并且会节省我的时间。 请指教。
【问题讨论】:
标签: ssis
SSIS中有没有类似全局变量的东西?我有 4 个变量(FromAddress、ToAddress、...),它们将在所有包 (32) 中使用。 因此,如果我只能设置它们一次,它将非常容易在所有软件包中使用,并且会节省我的时间。 请指教。
【问题讨论】:
标签: ssis
SSIS 有变量可以是一个包的全局变量,但是要跨越多个包,我可以想到以下选项
传递变量
让主包定义一个变量并将值作为参数传递给它调用的所有包。为方便识别,在所有包中调用同名变量。
配置文件
跨包使用相同的 SSIS 配置文件并将值存储在其中。
环境变量
使用从其他包中读取的windows环境变量
注册表值
存储在 Windows 注册表中并读取每个包 - 确保存储在所有包都可以看到的树下,否则您可能会遇到权限问题。例如HKLM
数据库查找
将值存储在表结构中。
【讨论】:
您可以在脚本中创建局部变量。您在脚本中创建的任何变量都是该脚本的本地变量。您还可以创建全局变量(通过“变量”滑出窗口),其范围可以用于整个包或包的子集。
【讨论】:
您可以使用包配置(使用 DB、XML 文件、环境文件或注册表设置)来保存这些值,并且 32 个包中的每一个都可以引用相同的配置,而不必在每个包中设置变量,
【讨论】:
您可以使用配置数据库跨多个包检索类似的值。
【讨论】: