SSIS中是否有类似于全局变量的内容?我有4个变量(FromAddress,ToAddress,...),它们将在所有包中使用(32)。 因此,如果我只设置它们一次,它将非常容易在所有包中使用,并将节省我的时间。 请指教。
答案 0 :(得分:13)
SSIS的变量可以是包的全局变量,但要跨越多个包,我可以考虑以下选项
传递变量
让Main Package定义一个变量,并将值作为参数传递给它调用的所有包。在所有包中调用变量同名,以便于识别。
配置文件
跨包使用相同的SSIS配置文件并将值存储在那里。
环境变量
使用从其他包中读取的Windows环境变量
注册管理机构价值
存储在Windows注册表中并读取每个包 - 确保存储在树下,所有包都可以看到,否则可能会遇到权限问题。例如HKLM
数据库查找
将值存储为表结构。
答案 1 :(得分:1)
您可以在脚本中创建局部变量。您在脚本中创建的任何变量都只是该脚本的本地变量。您还可以创建全局变量(通过“变量”滑动窗口),该变量可以作为整个包的范围,也可以是包的子集。
答案 2 :(得分:1)
您可以使用程序包配置(使用DB,XML文件,环境文件或注册表设置)来保存这些值,并且32个程序包中的每个程序包都可以引用相同的配置,而不必在每个程序包中设置变量,
答案 3 :(得分:0)
您可以使用配置数据库来检索多个包中的值。