Я использую пакет SSIS для импорта данных из листа excel в SQL DB. В конфигурационном файле я использую следующие переменные.Динамическая строка соединения, не работающая в пакете SSIS 2008R2
Name scope DataType Value
----------------------------------------------------
DBName package String DB_Master
Password package String xx
UserName package String sa
ServerName package String xxx.xxx.x.xx
SqlConnectionString package String DataSource=xxx.xxx.x.xxx;UserID=sa;Provider=SQLNCLI10.1;Integrated Security=SSPI;Auto Translate=False;Initial Catalog=DB_Master;Password=xx
правой кнопкой мыши OLEDB ConnectionManager выберите окно свойств ниже значения назначить
ConnectionString - Initial Catalog=DB_Master;DataSource=xxx.xxx.x.xxx;UserID=sa;Provider=SQLNCLI10.1;Integrated Security=SSPI;Auto Translate=False;
DelayValidation - True
Expressions -ConnectionString - @[User::SqlConnectionString]
В SqlConnectionString окно свойств переменной ниже значения присвоить
EvaluateAsExpression -True
Expression -"DataSource=" + @[User::ServerName] + ";UserID=" + @[User::UserName] + ";Provider=SQLNCLI10.1;Integrated Security=SSPI;Auto Translate=False;Initial Catalog=" + @[User::DBName] + ";Password=" + @[User::Password]
После развертывания файла пакета я изменить DBName в SqlConnectionString DB_Master для мастера, но пакет выполняет файлы в DB_Master.
, а также если я выдаю неверное имя сервера, например 198.152.1, но пакет успешно выполнен.
Пожалуйста, скажите мне, где я совершил ошибку. что пошло не так ...?
Я не знаю, в чем проблема, но вы можете упростить это путем _just_ присвоения свойства строки подключения. Он уже содержит все эти другие значения. Вам не нужно это выражение конкатенации строк, просто назначьте строку соединения непосредственно из конфига. Затем измените БД только в этом конфиге. –
Как вы меняете имя dbName в строке соединения? Вы обновляете строку соединения или переменную? Как вы изменяете значение в переменной? С конфигурацией? Использование/set? –
@MarkWojciechowicz Я изменяю имя dbname в строке соединения с помощью переменной DBName. Я не знаю, как обновить строку подключения. Я изменяю значение переменной, вводя значения в строку соединения. – Gurunathan