【问题标题】:How to pass variables to an SSIS package from a C# application如何从 C# 应用程序将变量传递给 SSIS 包
【发布时间】:2011-11-11 19:04:20
【问题描述】:

基本上我正在尝试构建一个使用 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);
    }

有人知道如何以这种方式将变量传递给包本身吗?

【问题讨论】:

    标签: c# ssis


    【解决方案1】:

    您需要使用Package.Variables 属性。

            Package package = null;
            package = app.LoadPackage(@"C:\ft\Package.dtsx", null);
            package.Variables["User::varParam"].Value = "param value";
    

    【讨论】:

      【解决方案2】:

      试试看:

      Microsoft.SqlServer.Dts.RunTime.Variables myVars = package.Variables; myVars["MyVariable1"].Value = "value1"; myVars["MyVariable2"].Value = "value2"; Microsoft.SqlServer.Dts.Runtime.DTSExecResult 结果 = package.Execute(null, myVars, null, null, null);

      【讨论】:

        猜你喜欢
        • 2023-03-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-11-29
        • 1970-01-01
        相关资源
        最近更新 更多