VS 2008 / SQL 2008
我正在将.csv文件导入SQL表。
我想从C#Code动态传递源文件和目标连接字符串。
由于某些原因,此代码运行良好但包没有执行!!!!我应该如何动态地将连接字符串从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();
答案 0 :(得分:1)
动态更改连接字符串的最佳方法是从包中检索所需的连接,然后更改其连接字符串。这与使用连接信息设置变量不同。在这种情况下,您可以使用:
pkg.Connections["sConn"].ConnectionString = strSourceConn;
pkg.Connection["dConn"].ConnectionString = strDestConn;
sConn
和dConn
是包中连接的名称。