我有一个应用程序将 Excel .xls 文件上传到文件系统,使用对象实例上的 .open() 方法使用 oledbconnection 对象打开文件,然后将数据存储在数据库中。将文件上传和写入文件系统工作正常,但仅在我们的生产服务器上尝试打开文件时出现错误。该应用程序在另外两台服务器(开发和测试服务器)上运行良好。
以下代码在 Exception.Message 中生成“未指定错误”。
引用:
System.Data.OleDb.OleDbConnection x = new System.Data.OleDb.OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + location + ";Extended Properties='Excel 8.0;HDR=Yes;IMEX=1'");
try
{
x.Open();
}
catch (Exception exp)
{
string errorEmailBody = " OpenExcelSpreadSheet() in Utilities.cs. " + exp.Message;
Utilities.SendErrorEmail(errorEmailBody);
}
:结束报价
服务器的 c:\\temp 和 c:\Documents and Settings\\aspnet\local settings\temp 文件夹都赋予 \aspnet 完全控制权。
我认为存在某种权限问题,但似乎无法找到上述文件夹的权限与上传 Excel 文件的文件夹/目录之间的任何区别。相同的位置用于保存文件并打开它,这些方法在我的工作站和两个 Web 服务器上运行。Windows 2000 SP4 服务器。