本文介绍了如何将变量从 C# 应用程序传递给 SSIS 包的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
基本上我正在尝试构建一个使用 SSIS 运行一系列 sql 的应用程序.
这是我目前的代码:
public JsonResult FireSSIS(){字符串 x = string.Empty;尝试{应用程序 = 新应用程序();包包=空;package = app.LoadPackage(@"C:ftPackage.dtsx", null);Microsoft.SqlServer.Dts.Runtime.DTSExecResult 结果 = package.Execute();如果(结果 == Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Failure){foreach (Microsoft.SqlServer.Dts.Runtime.DtsError local_DtsError in package.Errors){x += string.Concat("包执行结果:{0}", local_DtsError.Description.ToString());}}}catch (DtsException ex){//异常 = ex.Message;}返回 Json(x, JsonRequestBehavior.AllowGet);}
有人知道如何以这种方式将变量传递给包本身吗?
解决方案
试试看:
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);Basically i am trying to build an application that uses SSIS to run a series of sql stuff.
Here is my code thus far:
public JsonResult FireSSIS()
{
string x = string.Empty;
try
{
Application app = new Application();
Package package = null;
package = app.LoadPackage(@"C:ftPackage.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);
}
Does anybody know how to pass a variable to the package itself in this way?
解决方案
Try that:
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);
这篇关于如何将变量从 C# 应用程序传递给 SSIS 包的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!