У меня есть приложение, которое загружает файл Excel .xls в файловую систему, открывает файл с объектом oledbconnection с помощью метода .open () в экземпляре объекта и затем сохраняет данные в базе данных. Загрузка и запись файла в файловую систему работает нормально, но я получаю сообщение об ошибке при попытке открыть файл на нашем производственном сервере только . Приложение отлично работает на двух других серверах (серверах разработки и тестирования).
Следующий код генерирует «Неуказанную ошибку» в сообщении 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. То же место используется для сохранения файла и его открытия, и методы работают на моей рабочей станции и двух веб-серверах. Серверы Windows 2000 SP4.