Оценить переменную как выражение
Самый простой способ - добавить переменную @[User::ConnectionSting]
типа String, выбрать для оценки этой переменной как выражение и использовать следующее выражение:
@[$Project::Parameter] == "SERVER1" ? @[$Project::SERVER1_ConnectionString]
: ( @[$Project::Parameter] == "SERVER2" ? @[$Project::SERVER2_ConnectionString]
: ( @[$Project::Parameter] == "SERVER3" ? @[$Project::SERVER3_ConnectionString]
: ""))
Затем нажмите на диспетчере соединений OLEDB, нажмите F4 , чтобы отобразить вкладку свойств, выражение GoTo, выберите свойство ConnectionString и используйте следующее выражение:
@[User::ConnectionSting]
И нажмите на задачу потока данных и задачи, которые используют соединение, и установите для свойства Delay Validation
значение True
Использование задачи выражения
Можно использоватьтот же метод, но вместо оценки @[User::ConnectionSting]
как выражения, добавьте задачу Expression в начале пакета и используйте следующее выражение:
@[User::ConnectionSting] = (@[$Project::Parameter] == "SERVER1" ?
@[$Project::SERVER1_ConnectionString] : ( @[$Project::Parameter] == "SERVER2" ? @[$Project::SERVER2_ConnectionString] : ( @[$Project::Parameter] == "SERVER3" ? @[$Project::SERVER3_ConnectionString] : "")))