Передача значений в SSIS Соединительная строка из c # - PullRequest
0 голосов
/ 15 апреля 2011

VS 2008 / SQL 2008

Я импортирую файл .csv в таблицу SQL.

Я хочу динамически передать строку «Исходный файл и соединение назначения» из кода C #.

По некоторым причинам этот код работает хорошо, но пакет не выполняется !!!!Как мне передать строку подключения динамически из кода C # в пакет служб SSIS !!

string strSourceConn = Server.MapPath(filePlacedOrder.Value);
string strDestConn = System.Configuration.ConfigurationManager.AppSettings["SDB"];
string pkgLocation = Server.MapPath("Package.dtsx");

Package pkg;
Microsoft.SqlServer.Dts.Runtime.Application app;
DTSExecResult pkgResults;

app = new Microsoft.SqlServer.Dts.Runtime.Application();
pkg = app.LoadPackage(pkgLocation, null);

pkg.Variables["sConn"].Value = strSourceConn;
pkg.Variables["dConn"].Value = strDestConn;

pkgResults = pkg.Execute();

1 Ответ

2 голосов
/ 09 мая 2011

Лучший способ динамически изменить строку подключения - это получить нужное подключение из пакета и затем изменить его строку подключения.Это отличается от установки переменных с информацией о соединении.В этом случае вы захотите использовать:

pkg.Connections["sConn"].ConnectionString = strSourceConn;
pkg.Connection["dConn"].ConnectionString = strDestConn;

Где sConn и dConn - имена соединений в вашем пакете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...