Am o aplicație care încarcă un fișier Excel .xls în sistemul de fișiere, deschide fișierul cu un obiect oledbconnection folosind metoda .open() pe instanța obiectului și apoi stochează datele într-o bază de date. Încărcarea și scrierea fișierului în sistemul de fișiere funcționează bine, dar apare o eroare la încercarea de a deschide fișierul numai pe serverul nostru de producție. Aplicația funcționează bine pe alte două servere (servere de dezvoltare și testare).
Următorul cod generează o "eroare nespecificată" în mesajul Exception.Message.
Citat:
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);
}
: End Quote
Setările serverului c: \\ temp și c: \ Documents and Settings \\ aspnet \ local settings \ temp ambele oferă control complet aspnet.
Cred că există o problemă de permisiuni, dar nu pare să găsească vreo diferență între permisiunile din dosarele notate și directorul/directorul în care este încărcat fișierul Excel. Aceeași locație este folosită pentru salvarea fișierului și deschiderea acestuia, iar metodele funcționează pe stația mea de lucru și pe două servere web. Serverele Windows 2000 SP4.