我有一个SSIS包,其中带有到“ SQL Server 1”的OLE DB连接管理器,以及来自本地计算机D盘的平面文件管理器。
该软件包基本上从我正在使用的计算机的D盘中检索数据,并通过一系列带有SQL任务的循环容器将其发送到“ SQL Server 1”。一切都很好。
挑战在于,我想将完全相同的程序包部署到“ SQL Server 2”。 “ SQL Server 2”中的所有文件,表等以及“ SQL Server 2”所在的本地计算机的D盘中的文件都完全相同。但是,我不知道该怎么做。
如果我将OLE DB连接管理器更改为“ SQL Server 2”,则所有工作都将正常进行,因为SQL任务会自动选择存在的唯一连接。尽管如此,关键是要以某种方式动态地执行此操作。
这意味着同时将“ SQL Server 1”和“ SQL Server 2”作为OLEDB连接管理器,并将相同的SSIS项目部署到两台服务器上(目前仅部署到“ SQL Server 1”上)。
我在“项目-属性”下创建了一个新配置,该配置已将“ SQL Server 2”选择为要部署的服务器名称。最初只有一个,其中当然有“ SQL Server 1”作为部署服务器。我知道这还不够,但是不知道该怎么办。
目标是将相同的程序包部署到Server1和Server2,任何帮助将不胜感激。谢谢
答案 0 :(得分:1)
您可以使用表达式来动态更改OLEDB连接管理器的connectionstring属性:
您可以添加Variable或Project参数,并在包执行时传递连接字符串。有关更多详细信息,请参阅以下文章之一:
答案 1 :(得分:1)
答案在我找到的链接中(在末尾发布)中进行了详细说明,并逐步说明了我要如何做,即通过使连接字符串动态化将SSIS包部署到不同的服务器:>
基本上遵循5个步骤(同样,在链接中有详细说明):