如果您使用变量设置连接字符串的值,则可以使用脚本任务将变量设置为您想要的任何值。
因为脚本任务可以访问 .net 基类,所以您可以检查 System.Environment.MachineName 以获取主机并相应地设置配置。
如果您有一个名为“CONNECTION_STRING”的字符串变量并添加了一个执行以下操作的脚本任务:
string hostName = System.Environment.MachineName;
string connectionString = "";
switch (hostName)
{
case "host1":
connectionString = "SERVER=abc;Initial Catalog=blah;...";
break;
case "host2":
connectionString = "SERVER=abc;Initial Catalog=blah;...";
break;
case "host3":
connectionString = "SERVER=abc;Initial Catalog=blah;...";
break;
}
Dts.Variables["CONNECTION_STRING"].Value = connectionString;
那应该做你想做的事。要使用表达式,请转到连接上的 Expressions 属性并使用变量“@[User::CONNECTION_STRING]”覆盖“ConnectionString”属性,您可能希望为连接启用延迟验证。