Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SSIS正在更改变量范围_Ssis - Fatal编程技术网

SSIS正在更改变量范围

SSIS正在更改变量范围,ssis,Ssis,如何创建具有作用域的变量?它只是给了我一个我不想要的默认值,我不知道如何更改。这应该很简单,谷歌搜索让我相信这是一个很常见的问题,但没有简单的解决方案 imgur:注意:在单击“新建变量”按钮之前,变量的范围是根据您所关注的容器设置的。虽然BIDS助手可以帮助您非常轻松地更改变量的范围,但这是BIDS助手在变量窗格顶部提供的第6个按钮 找到了上面的答案,这不是很有帮助的做法。好吧,这就是设计投标的方式。在要在其上创建变量的控制流元素上创建。如果要在包级别创建变量,请单击“控制流”窗格上的空白区域

如何创建具有作用域的变量?它只是给了我一个我不想要的默认值,我不知道如何更改。这应该很简单,谷歌搜索让我相信这是一个很常见的问题,但没有简单的解决方案


imgur:

注意:在单击“新建变量”按钮之前,变量的范围是根据您所关注的容器设置的。虽然BIDS助手可以帮助您非常轻松地更改变量的范围,但这是BIDS助手在变量窗格顶部提供的第6个按钮


找到了上面的答案,这不是很有帮助的做法。

好吧,这就是设计投标的方式。在要在其上创建变量的控制流元素上创建。如果要在包级别创建变量,请单击“控制流”窗格上的空白区域。这是使用BIDS为变量分配作用域的唯一方法。我没有看过BIDS助手,但BIDS本身就有足够的能力做这样的事情

单击“新建变量”按钮,添加变量名称,然后单击“添加变量”旁边的“移动变量”按钮。然后从中选择可执行文件,您要为其设置范围。希望这能有所帮助。

正如有人指出的那样,这会随着2012年而改变。我只是对此有所了解,并注意到2012年的文档没有更新。它仍然说变量的作用域是您所选择的不正确的。但是,当您在“变量”窗口中时,请注意顶部左侧图标中的第二个图标-这是“移动变量”按钮,它可以很好地让您移动所选变量的范围。BiXpress也有类似的功能,但它的缺陷在于它不会在执行后作用域上启动,这使得它们的版本非常有限。

我们可以在2008 BIDS中更改变量的作用域。PFB我为将变量的作用域从包级别更改为任务/容器级别所做的步骤

1) 右键单击解决方案资源管理器中的package.dtsx文件,然后单击“查看代码”

2) 搜索要更改其作用域的变量。复制与该变量相关的XML代码

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

4) 删除原始复制的代码

5) 保存此文件

6) 打开包,变量的作用域将被更改

我不确定它是否会影响包,但它对我有效


请让我知道它是否会影响软件包,如果有人知道此行为(在焦点对象范围内创建的变量)会随着SQL Server 2012版本的变化而变化。在那里,变量总是在包级别创建的,您必须显式地将它们移动到不同的范围,这也是SSDT(以前称为BIDS)的本机功能。我们已经在某个地方安装了升级,可能需要检查一下。正如你所看到的,我是个新手,今天花了很多时间学习如何组合一些有用的软件包。我不高兴因为这件小事浪费了30分钟。看起来是个很棒的包裹。谢谢你的时间。有没有什么方法可以通过编程(c#)来实现这一点?