我准确地说same problem我一直在寻找,但这是我见过同样问题的唯一地方,并没有得到解决。
有谁知道问题可能是什么?
我在Visual Studio中检查过,我的SSIS版本是11.0.2100.60(不是试用版,不是测试版)。
编辑:这些是我正在采取的步骤和问题
首先,我选择一个连接管理器,右键单击,选择属性,然后单击“表达式”选项
然后在Property Expression Builder中选择Connection String属性并单击Expression选项
最后,在Expression Builder对话框中没有变量选项,在我读过的每个页面中都说应该有一个Variables节点
我错过了什么吗?
答案 0 :(得分:37)
SSIS 2012引入了项目级连接管理器的概念。我在MSDN论坛上的引用帖子上看到的是用户创建了一个项目级平面文件连接管理器,并且无法使用局部变量对其进行配置。假设这是问题,我的答案如下。
SSIS项目通常不止一个包。为了简化生活,SSIS团队现在允许跨项目共享公共资源,连接管理器就是这些资源之一。
逻辑上,如果项目在项目中共享,那么仅在一个文件中存在的内容如何配置该资源?该配置更改仅在Package1执行时有效。当Package2触发时,除非将相同的变量和相同的表达式应用于共享资源,否则您将遇到不同的结果。这将是一场维护噩梦,如果您没有强大的配置实践,您可能已经体验过这种噩梦。
如果我在项目级别创建平面文件连接管理器,我只能在项目级别引用也的变量。除了项目级别没有变量。相反,它们被称为参数。
为此,我创建了一个名为SomeProjectParameter
然后我创建了一个包Package1.dtsx,并添加了2个平面文件连接管理器:FlatFileConnectionManagerLocal和FlatFileConnectionManagerProject
相反,我还创建了一个名为SomeLocalVariable的变量。
此屏幕截图显示我将表达式应用于FlatFileConnectionManagerLocal的ConnectionString属性。在那里,您可以看到包变量SomeLocalVariable
和SomeProjectParameter
现在,如果我尝试将表达式应用于项目的连接管理器,您将只能使用项目参数。
值得注意的是,您无法将表达式应用于SSIS包上下文之外的项目级别的Connection Manager。在您拥有一个开放的SSIS包之前,根本没有可用的编辑器。但是,一旦应用, all 项目中的包将被类似地配置。
我想是IDE的怪癖。此外,请不要对这些屏幕截图中缺少颜色感到震惊,我正在使用2012版SSDT。
答案 1 :(得分:4)
答案 2 :(得分:0)
Microsoft SSIS 教程中有这些令人困惑的陈述: