Connection Manager的表达式生成器未显示变量

jor*_*hmv 17 ssis

我有这个完全相同的问题,我一直在寻找,但这是我见过同一个问题的唯一地方,并没有解决.

有谁知道问题可能是什么?

我在Visual Studio中检查过,我的SSIS版本是11.0.2100.60(不是试用版,不是测试版).

编辑:这些是我正在采取的步骤和问题

首先,我选择一个连接管理器,右键单击,选择属性,然后单击"表达式"选项 第一步

然后在Property Expression Builder中选择Connection String属性并单击Expression选项 在此输入图像描述

最后,在Expression Builder对话框中没有变量选项,在我读过的每个页面中都说应该有一个Variables节点 在此输入图像描述

我错过了什么吗?

bil*_*nkc 37

SSIS 2012引入了项目级连接管理器的概念.我在MSDN论坛上的引用帖子上看到的是用户创建了一个项目级平面文件连接管理器,并且无法使用本地变量对其进行配置.假设这是问题,我的答案如下.

SSIS项目通常不止一个包.为了简化生活,SSIS团队现在允许跨项目共享公共资源,连接管理器是这些资源之一.

从逻辑上讲,如果在项目中共享一个东西,那么存在于一个文件中的东西如何配置该资源呢?该配置更改仅在Package1执行时有效.当Package2触发时,除非将相同的变量和相同的表达式应用于共享资源,否则您将遇到不同的结果.这将是一个维护噩梦,如果您没有强大的配置实践,您可能已经体验过.

如果我在项目级别创建平面文件连接管理器,我只能引用同样位于项目级别的变量.除了项目级别没有变量.相反,它们被称为参数.

为此,我创建了一个名为的参数 SomeProjectParameter

项目参数

然后我创建了一个包Package1.dtsx,并添加了2个平面文件连接管理器:FlatFileConnectionManagerLocal和FlatFileConnectionManagerProject

相反,我还创建了一个名为SomeLocalVariable的变量.

此屏幕截图显示我将表达式应用于FlatFileConnectionManagerLocal的ConnectionString属性.在那里你可以看到包变量和两个都SomeLocalVariable可用SomeProjectParameter

具有参数和局部变量的本地CM上的表达式构建器

现在,如果我尝试将表达式应用于项目的连接管理器,您将只能使用项目参数.

项目CM和唯一可用的参数

有趣的是,您无法将表达式应用于SSIS包上下文之外的项目级连接管理器.在您拥有一个开放的SSIS包之前,根本没有可用的编辑器.但是,一旦应用,项目中的所有包都将进行类似配置.

我猜想IDE的怪癖.此外,请不要担心这些屏幕截图中缺少颜色,我正在使用2012版SSDT.

  • 非常棒的答案,只是为了记录我正在按照教程http://msdn.microsoft.com/en-us/library/ms169917.aspx,所以任何人在这个教程中使用这个数据工具版本都会遇到同样的问题 (4认同)
  • @jorgehmv很好,很高兴知道.随意在这里询问您想要的所有SSIS问题.我们这里有一个非常优秀的工作人员将他们击倒. (3认同)
  • 优秀的答案billinkc.我在同一个教程中遇到了同样的问题,你的文章结束了一整天的绝对挫折.只有一个建议:您可以包含一些关于如何创建包级别连接或将项目级别连接更改为包级别连接的说明. (2认同)
  • 这篇文章帮助其他用户尝试了该教程!对我来说,教程一点都不清楚你不应该(据我现在理解)在解决方案资源管理器视图中创建连接管理器,但是包设计视图中的控制流和DataFlow窗口下的连接管理器. (2认同)

小智 6

我有同样的问题,这是因为平面文件源被设置为项目源,所以我不得不将其转换为包连接。

初始平面文件源

右键单击源,然后选择“转换为包连接”

转换成套件连接

也许这会有所帮助。