如何以编程方式启动asp.net MVC3中的ssis包来导入excel文件

时间:2012-06-15 15:10:58

标签: asp.net-mvc-3 ssis

我正在开发的asp.net MVC3 Web应用程序遇到一些问题。我需要一个上传页面,允许用户上传excel文件并将其转储到文件系统。我让这个工作得很好。下一部分是我遇到问题的部分,上传excel文件后,我需要以编程方式启动我已经创建的SSIS包来导入excel文件。

以下是我目前在代码中的内容:

 //
    // POST: /Home/Update/
    [HttpPost]
    public ActionResult Update(HttpPostedFileBase file)
    {
        // Verify that the user selected a file
        if (file != null && file.ContentLength > 0)
        {

            var fileName = Path.GetFileName(file.FileName);

            // store the file inside ~/App_Data/uploads folder
            var path = Path.Combine(Server.MapPath("~/App_Data/uploads"), fileName);
            ViewBag.Message = "File Uploaded Successfully";
            file.SaveAs(path);

        }

        //Start the SSIS here

        try
        {
            Application app = new Application();

            Package package = null;
            package = app.LoadPackage( @"C:\Users\Chris\Documents\Visual Studio
            2008\Projects\Integration Services Project1\Integration Services Project1
            \bin\Package.dtsx", null);

            // Execute Package
            DTSExecResult results = package.Execute();

            if(results == DTSExecResult.Failure)
            {
                foreach(DtsError local_DtsError in package.Errors)
                {
                    ViewBag.Message("Package Execution results:{0}",  
                    local_DtsError.Description.ToString());
                }
            }
        }
        catch(DtsException ex)
        {
            //ViewBag.Message("{0} Exception caught.", ex);

        }


        // redirect back to the index action to show the form once again
        return RedirectToAction("Update");
    }

当我运行代码并上传excel文件时,我收到了一个DtsException,其中说:

无法打开包文件“C:\ Users \ Chris \ Documents \ Visual Studio 2008 \ Projects \ Integration Services Project1 \ Integration Services Project1 \ bin \ Package.dtsx”由于错误0x80070003“系统找不到指定的路径“。加载包时会发生这种情况,并且无法将文件正确打开或加载到XML文档中。这可能是因为在调用LoadPackage时指定了错误的文件名,或者指定了XML文件并且格式不正确。

我不明白为什么它给我这个,因为文件路径是正确的我检查了它是完全正确的。我需要一些帮助解决这个问题我非常感谢你们给予的任何帮助。

1 个答案:

答案 0 :(得分:1)

我应该考虑的权限。将文件放在运行IIS的帐户可以看到的位置。无论你计划部署它,都会很好。