Ich habe eine Anwendung, die eine Excel-.xls-Datei in das Dateisystem hochlädt, die Datei mit einem oledbconnection-Objekt mit der .open()-Methode auf der Objektinstanz öffnet und dann die Daten in einer Datenbank speichert. Das Hochladen und Schreiben der Datei in das Dateisystem funktioniert gut, aber ich erhalte einen Fehler, wenn ich versuche, die Datei auf unserem Produktionsserver zu öffnen sólo . Die Anwendung funktioniert problemlos auf zwei anderen Servern (Entwicklungs- und Testserver).
Der folgende Code erzeugt einen "Unspecified Error" in der Exception.Message.
Zitat:
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);
}
:Zitat Ende
Der Server ist c: \\temp und c: \Documents und Einstellungen \\aspnet\local Einstellungen \temp Ordner geben beide \aspnet volle Kontrolle.
Ich glaube, dass es eine Art Berechtigungsproblem gibt, aber ich kann keinen Unterschied zwischen den Berechtigungen für die notierten Ordner und dem Ordner/Verzeichnis, in das die Excel-Datei hochgeladen wird, feststellen. Zum Speichern und Öffnen der Datei wird derselbe Ort verwendet, und die Methoden funktionieren auf meiner Workstation und zwei Webservern. Es handelt sich um Windows 2000 SP4-Server.