0

我开发了一个 ASP.NET 网站,它上传 Excel 文件并将其数据放入数据库。这在我的系统上完美运行,但是当我在服务器上运行它时,它失败了。我没有收到任何错误消息。"Server Error in '/' Application." 当我上传 Excel 文件时,页面显示错误。文件名到达上传文件夹。其名称已输入数据库,但数据失败。提前致谢。

显示错误的代码:

    string excelConnectionString = "provider=Microsoft.jet.oledb.4.0;data source=" + xlspath + ";extended properties='Excel 8.0;HDR=YES;'";
    OleDbConnection excelConnection = new OleDbConnection(excelConnectionString);
    excelConnection.Open();
    OleDbCommand ocmd = new OleDbCommand("Select * from [sheet$]", excelConnection);
    OleDbDataReader odr = ocmd.ExecuteReader();
    string name = FileUpload1.FileName;
    string Customer = "";
    string DPS = "";
    string FSC = "";
    string FFSC = "";
    string FFSR = "";
    string DPC = "";
    string RAG = "";
    string Comments = "";

    while (odr.Read())
    {
        Customer = valid(odr, 0);
        DPS = valid(odr, 1);
        FSC = valid(odr, 2);
        FFSC = valid(odr, 3);
        FFSR = valid(odr, 4);
        DPC = valid(odr, 5);
        RAG = valid(odr, 6);
        Comments = valid(odr, 7);
        insertdataintosql(name, Customer, DPS, FSC, FFSC, FFSR, DPC, RAG, Comments);
    }
    excelConnection.Close();
    Label2.Text = "File Uploaded Sucessfully";
    Label2.Visible = true;  
4

1 回答 1

0

首先,我们不知道错误是什么(显然)。第一步是获取详细的错误。这里有几种方法可以做到这一点:

找出您收到的错误的最简单方法可能是按照我上面的评论对 web.config 和 customErrors mode="Off" 执行的操作,或者,这就是我所做的,安装 ELMAH ( http://code.google.com/p/elmah ) 到您的应用程序中。您只需从 NuGet 获取包或手动添加 elmah.dll(并进行一些简单的 web.config 修改,在我刚刚给您的 URL 中定义)。然后,您可以导航到http://www.yourwebapp.com/Elmah.axd,它将向您显示所有未处理异常及其详细信息的完整列表。

当然,您要先完成 ELMAH 的基本配置才能使其正常工作。但是,从开始到结束,可能需要 10-15 分钟来设置,如果你有野心,你可以设置一个专门用于存储所有这些错误的 SQL 数据库,或者默认情况下,应用程序会将错误写入 XML格式到您的 App_Data 文件夹。它确实是一个救星,一旦你将它添加到你的项目中,你就不必删除它。

这是我在其上实施 ELMAH 的实时站点的链接:http: //quikcapdev.capworx.net/Elmah.axd

请记住,所有这些只是为了获取详细的错误。一旦我们有详细的错误,那么我们将能够正确回答您的问题。

于 2013-04-19T14:27:02.830 回答