我在一个具有不同变量的项目中有8个SSIS包。是否有一种简单的方法可以打印整个项目的所有变量名称,范围,数据类型,值,表达式?
此时我手动将每个变量表键入excel进行审核。
感谢您的帮助
答案 0 :(得分:1)
您是否愿意使用C#或.Net语言?如果是这样,您可以使用SSIS对象模型根据需要迭代变量。
所有控制流任务主机都从DtsContainer继承。 DtsContainer包含一个名为Variables的属性,它是该容器范围内变量的集合。
因此,从Package对象开始,您可以将Package对象和所有子项(以及这些子项的子项,如果需要,递归地)作为DtsContainer对象。您可以通过将当前对象的子项转换为IDTSSequence然后访问Executables属性来获取它们的子项。一旦您将所有可执行文件(包和子项的子项)的集合作为DtsContainers,您就可以访问每个Container对象的Variables属性,然后您可以根据需要进行迭代。
我上传了一个C#脚本来执行上述操作。 https://gist.github.com/samskolli/974eaaf9d1bd72fb3ee8bb202e49a058