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:\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);
}
Does anybody know how to pass a variable to the package itself in this way?
You need to use the Package.Variables
property.
Package package = null;
package = app.LoadPackage(@"C:\ft\Package.dtsx", null);
package.Variables["User::varParam"].Value = "param value";
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);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With