2013-01-15 163 views
4

如何使用范围创建变量?这只是给我一个我不想要的默认值,我不确定如何改变。这应该很简单,Google搜索让我相信这是一个相当普遍的问题,但没有简单的解决方案。SSIS更改变量范围

imgur:http://imgur.com/uxlRf

回答

3

注:变量的作用域是基于你点击新变量按钮之前重点容器设置。尽管BIDS助手可以帮助您非常轻松地更改变量的范围,这是BIDS助手在变量窗格顶部提供的第6个按钮。

找到了上面的答案,不是很有帮助的做事方式。

+1

这种行为,在物体的对焦范围是创建的变量,与2012年发布的SQL Server的变化。在那里,变量将始终在包级别创建,您必须明确地将它们移动到不同的作用域,这也是SSDT(以前称为BIDS)的本地功能。 – billinkc

+0

我们已将升级安装在某处,可能需要检查。正如你所看到的,我是相当新的,并且在今天花费在学习如何整理一些有用的软件包。由于这件小事,大约30分钟的时间浪费了。看起来像一个伟大的包虽然。谢谢你的时间。 – Waller

0

那么这就是BIDS的设计方式。您可以在要创建变量的控制流元素上创建。如果要在包级别上创建变量,请单击控制流窗格上的空白区域。这是使用BIDS为变量指定范围的唯一方法。没有看过BIDS Helper,但BIDS本身就足够做这种事情。

2

单击新变量按钮,添加变量名称,然后单击添加变量旁边的移动变量按钮。并从那里选择要将范围设置到的可执行文件。希望这可以帮助。

2

正如有人指出,这与2012年有所变化。我刚刚得到了一点,并注意2012年的文件没有得到更新。它仍然说变量的范围是你选择的不是真的。但是,当您在变量窗口中时,请注意顶部左侧的第二个图标 - 这是“移动变量”按钮,可以很好地工作,以便您移动所选变量的范围。 BiXpress也有类似的功能,但它的bug,它不会拿起OnPostExecute范围使其版本非常有限。

2

我们可以在2008年更改变量的范围BIDS.PFB我为将变量的范围从包级别更改为任务/容器级别所做的步骤。

1)从Solution Explorer中package.dtsx文件点击右键,然后单击“查看代码”

2)搜索,寻找您想要改变的范围变量。复制与该变量相关的XML代码。

3)搜索您想要使用此变量的控件,并在完成任何标签(许多标签与任务/容器相关)后复制xml代码。

4)删除原始复制的代码。

5)保存此文件

6)打开包装和变量的范围将被改变

我不知道这是否影响到包或没有,但它为我工作。

请让我知道这是否会影响到包或没有,如果任何人知道

+0

有没有办法以编程方式做这个(C#)? – dirtyw0lf