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 2008 R2中,我可以在连接管理器中为服务器和数据库名称使用包变量吗?_Ssis - Fatal编程技术网

在SSIS 2008 R2中,我可以在连接管理器中为服务器和数据库名称使用包变量吗?

在SSIS 2008 R2中,我可以在连接管理器中为服务器和数据库名称使用包变量吗?,ssis,Ssis,我希望这样做,这样我就可以通过正常的开发过程development>UAT>Production部署SSIS包。我使用的应用程序在不同的服务器上有每个环境数据库,并且在每个环境中使用不同的名称数据库。我认为您必须选择一个“包配置”选项 转到SSIS>包配置。。。菜单启动向导。从这里开始,您将添加一个新配置。接下来,您将从以下选项中选择类型:XML文件、环境变量、注册表项、父包变量或SQL server 从这里,您可以选择变量、连接等,以保存在您选择的任何配置类型中。如果需要,您将能够为每个连接管

我希望这样做,这样我就可以通过正常的开发过程development>UAT>Production部署SSIS包。我使用的应用程序在不同的服务器上有每个环境数据库,并且在每个环境中使用不同的名称数据库。

我认为您必须选择一个“包配置”选项

转到SSIS>包配置。。。菜单启动向导。从这里开始,您将添加一个新配置。接下来,您将从以下选项中选择类型:XML文件、环境变量、注册表项、父包变量或SQL server

从这里,您可以选择变量、连接等,以保存在您选择的任何配置类型中。如果需要,您将能够为每个连接管理器保存到连接字符串级别

我的例子是:

我使用了SQL server选项。设置此选项以创建和读取配置表时,必须使用连接管理器。我将一个连接管理器设置为“localhost”,这样安装它的每台服务器都将从本地数据库读取配置表

当包运行时,所有配置都从该db表加载


无论您选择哪种方法,您都必须在dtsx包(xml文件、db表等)的同时向每台服务器部署一些东西,但至少您不必构建包的多个版本

如果您使用的是
SSIS 2008,
,则必须依靠配置来动态设置连接字符串。您可以使用包变量,但必须对这些变量进行配置。(在您的情况下,我认为您可以使用SQL配置。)。这些变量不如
ssis 2012
中的参数方便。我关于经典包配置的“转到”文章Nicko66谢谢,您让我走上了正确的轨道。此后,我使用了SQL server选项,现在有了数据驱动的连接。我没有使用localhost,但在每台服务器上创建了一个新的SSIS\U配置数据库。现有的连接管理器现在在Expression属性中使用一个变量,该变量保存连接字符串。这些变量在启动时从这个新数据库获取它们的连接字符串。