我正在开发的 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,它说:
由于错误 0x80070003“系统找不到指定的路径”,无法打开包文件“C:\Users\Chris\Documents\Visual Studio 2008\Projects\Integration Services Project1\Integration Services Project1\bin\Package.dtsx”。当加载一个包并且文件无法打开或正确加载到 XML 文档中时,会发生这种情况。这可能是由于在调用 LoadPackage 时指定了不正确的文件名,或者指定了 XML 文件并且格式不正确。
我不明白为什么它给我这个,因为我检查了文件路径是正确的并且它是完全正确的。我需要一些帮助来解决这个问题,我将非常感谢你们提供的任何帮助。