我已经开发了一个ASP.NET网站,它上传一个Excel文件,并将其数据放在数据库中。这在我的系统上工作得很好,但是当我在服务器上运行它时,它失败了。我没有收到任何错误消息。当我上传Excel文件时,页面显示错误"Server Error in '/' Application."。文件名已到达上载文件夹。其名称已输入数据库,但数据失败。提前谢谢。
显示错误的代码:
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; 发布于 2013-04-19 22:27:03
首先,我们不知道错误是什么(很明显)。第一步是获取详细的错误信息。有几种方法可以做到这一点:
也许最简单的方法是找出你收到的错误是什么,按照我上面的评论做关于web.config和customErrors mode=“关闭”的事情,或者,这就是我所做的,在你的应用程序上安装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文件夹。它真的是一个救命稻草,一旦你将它添加到你的项目中,你就不需要删除它。
这是我在http://quikcapdev.capworx.net/Elmah.axd上实现ELMAH的一个实时站点的链接。
请记住,所有这些都只是为了获得详细的错误信息。一旦我们有了详细的错误,我们将能够正确地回答您的问题。
https://stackoverflow.com/questions/16106279
复制相似问题