Sql server 如何使SSIS包动态选择所需的连接管理器?
我有一个SSIS包,其中包含到“SQL Server 1”的OLE DB连接管理器,以及来自本地计算机的D盘的平面文件管理器 该包基本上从我使用的机器的D盘检索数据,并通过一系列包含SQL任务的循环容器将其发送到“SQL Server 1”。这一切都很好 挑战在于我想将完全相同的包部署到“SQL Server 2”。“SQL Server 2”中的所有文件、表等与“SQL Server 2”所在的本地计算机的D磁盘中的文件完全相同。然而,我不知道该怎么做 如果我将OLEDB连接管理器更改为“SQLServer2”,则所有操作都会正常工作,因为SQL任务会自动选择唯一存在的连接。尽管如此,关键是要以某种方式动态地做到这一点 这意味着同时使用“SQL Server 1”和“SQL Server 2”作为OLEDB连接管理器,并将同一SSIS项目部署到两台服务器(目前仅部署到“SQL Server 1”) 我已经在Project-Properties下创建了一个新配置,其中选择了“SQLServer2”作为部署的服务器名称。最初,只有一个服务器存在,它当然有“SQL Server 1”作为部署服务器。我知道这还不够,但不知道还能做什么Sql server 如何使SSIS包动态选择所需的连接管理器?,sql-server,ssis,visual-studio-2017,oledb,ssis-2017,Sql Server,Ssis,Visual Studio 2017,Oledb,Ssis 2017,我有一个SSIS包,其中包含到“SQL Server 1”的OLE DB连接管理器,以及来自本地计算机的D盘的平面文件管理器 该包基本上从我使用的机器的D盘检索数据,并通过一系列包含SQL任务的循环容器将其发送到“SQL Server 1”。这一切都很好 挑战在于我想将完全相同的包部署到“SQL Server 2”。“SQL Server 2”中的所有文件、表等与“SQL Server 2”所在的本地计算机的D磁盘中的文件完全相同。然而,我不知道该怎么做 如果我将OLEDB连接管理器更改为“SQ
我们的目标是将同一个包部署到Server1和Server2,如有任何帮助,我们将不胜感激。谢谢您可以使用表达式动态更改OLEDB连接管理器connectionstring属性:
听起来您不应该有两个数据连接,而是环境和项目变量,它们根据您运行的环境而变化。然后,数据连接本身会根据您的环境指向不同的服务器。谢谢!虽然我不理解你的答案(我是SSIS新手),但我研究了环境和项目变量,并在这里找到了详细的解决方案:谢谢你为我指明了正确的方向:)@biu noob如果你解决了这个问题,请写下你自己的答案或感谢你的帮助!这个链接为我做到了这一点,因为它很容易理解,非常详细,并准确地解释了我在寻找什么: