我查看过其他帖子和问题,但找不到我需要的内容。
我对SSIS包的创建比较陌生,所以请耐心等待。
基本上,我需要根据从表中读取的IP列表连接到多个服务器。我有一个连接字符串,我正在从配置表中读取。连接字符串是通用的,因为数据源只是255.255.255.255,我想在程序包执行期间循环执行时将数据源替换为从表中读取的IP。
我正在使用IP,因为我连接的服务器不在我们的域中。我已将服务器名称设置为连接管理器表达式中的变量。因此,我希望读取pkg配置以获取整个连接字符串。然后,当我遍历IP时,服务器名称变量将被动态替换为数据源值,因为它循环遍历。我希望这是有道理的。
所以connstring是:(在config表中是通用的)
Data Source=255.255.255.255,65000;User ID=test;Password=test;Initial Catalog=myDB;Provider=SQLNCLI10.1;Integrated Security=SSPI;Auto Translate=False;Application Name=SSIS-myApp;
然后,当我获得我希望它更改为的IP列表,然后显然连接为:
Data Source=1.1.1.1,1000;User ID=test;Password=test;Initial Catalog=myDB;Provider=SQLNCLI10.1;Integrated Security=SSPI;Auto Translate=False;Application Name=SSIS-myApp;
然后是下一个IP并连接为:
Data Source=2.2.2.2,1000;User ID=test;Password=test;Initial Catalog=myDB;Provider=SQLNCLI10.1;Integrated Security=SSPI;Auto Translate=False;Application Name=SSIS-myApp;
如何使用SSIS执行此操作?
答案 0 :(得分:2)
Properties
并复制连接字符串的值使用与此类似的声明添加Execute SQL Task
:
选择TOP 1 '数据源='+ [IPAddress] + ';用户ID ='+ [用户名] + ... 来自dbo.IPTable
将结果集传递给先前创建的字符串变量
Expressions
@[User::CreatedVariableName]
你结束了。这是一个基本概念,你可以从那里调整..