如何将变量从c#传递到ssis包
我正在尝试使用ASP.NET构建一个执行SSIS包的应用程序,因此我希望将变量从应用程序传递到此包。 我想知道SSIS中是否缺少一些配置如何将变量从c#传递到ssis包,c#,asp.net,ssis,C#,Asp.net,Ssis,我正在尝试使用ASP.NET构建一个执行SSIS包的应用程序,因此我希望将变量从应用程序传递到此包。 我想知道SSIS中是否缺少一些配置 var a = demande_provision_creance.Année; var t = demande_provision_creance.Trimestre; var e = demande_provision_creance.Etat; var i = demande_provision_creance.ID; db.SaveChanges(
var a = demande_provision_creance.Année;
var t = demande_provision_creance.Trimestre;
var e = demande_provision_creance.Etat;
var i = demande_provision_creance.ID;
db.SaveChanges();
try
{
String pkgLocation = @"C:\PROVISION_CREANCES.dtsx";
Application app = new Application();
Package ssisPackage = null;
ssisPackage = app.LoadPackage(pkgLocation, null);
Microsoft.SqlServer.Dts.Runtime.Variables vars = ssisPackage.Variables;
vars["User::Annee"].Value = a;
vars["User::trimestre"].Value = t;
vars["User::etat"].Value = e;
vars["User::id_demande"].Value = i;
Microsoft.SqlServer.Dts.Runtime.DTSExecResult results = ssisPackage.Execute(null, vars, null, null, null);
if (results == Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Failure)
{
foreach (Microsoft.SqlServer.Dts.Runtime.DtsError local_DtsError in ssisPackage.Errors)
{
x += string.Concat("Package Execution results: {0}", local_DtsError.Description.ToString());
}
}
}
catch (DtsException ex)
{
// Exception = ex.Message;
}
return Json(x, JsonRequestBehavior.AllowGet);
您就快到了,不需要在变量名称旁边提供变量范围:
vars["Annee"].Value = a;
vars["trimestre"].Value = t;
vars["etat"].Value = e;
vars["id_demande"].Value = i;
提供作用域是在脚本组件或脚本任务中使用的,但不是在以编程方式处理包时使用的