[英]How to pass variables to an SSIS package from a C# application
基本上,我试图构建一个使用SSIS来运行一系列sql程序的应用程序。
到目前为止,这是我的代码:
public JsonResult FireSSIS()
{
string x = string.Empty;
try
{
Application app = new Application();
Package package = null;
package = app.LoadPackage(@"C:\ft\Package.dtsx", null);
Microsoft.SqlServer.Dts.Runtime.DTSExecResult results = package.Execute();
if (results == Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Failure)
{
foreach (Microsoft.SqlServer.Dts.Runtime.DtsError local_DtsError in package.Errors)
{
x += string.Concat("Package Execution results: {0}", local_DtsError.Description.ToString());
}
}
}
catch (DtsException ex)
{
// Exception = ex.Message;
}
return Json(x, JsonRequestBehavior.AllowGet);
}
有人知道如何以这种方式将变量传递给包吗?
您需要使用Package.Variables
属性。
Package package = null;
package = app.LoadPackage(@"C:\ft\Package.dtsx", null);
package.Variables["User::varParam"].Value = "param value";
试试看:
Microsoft.SqlServer.Dts.RunTime.Variables myVars = package.Variables; myVars["MyVariable1"].Value = "value1"; myVars["MyVariable2"].Value = "value2"; Microsoft.SqlServer.Dts.Runtime.DTSExecResult results = package.Execute(null, myVars, null, null, null);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.