我开发了一个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;
答案 0 :(得分: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文件夹。它确实是一个救生员,一旦你将它添加到你的项目中,这是你不必删除的东西。
以下是我在http://quikcapdev.capworx.net/Elmah.axd上实施ELMAH的实际网站的链接。
请记住,所有这些只是为了得到详细的错误。一旦我们收到详细错误,我们就能正确回答您的问题。