Ich weiß, dass dieses Problem immer wieder auftritt, wenn ich meine Anwendung auf einem neuen Server bereitstelle, da ich diesen Treiber verwende, um eine Verbindung zu einer Excel-Datei herzustellen. Also hier ist es, was ich in letzter Zeit mache.
Es gibt einen Windows Server 2008 R2, ich installiere die Access-Treiber für einen x64-Bit-Computer und entferne diese Meldung, was mich sehr freut, wenn ich nur auf einen anderen stoße.
Dieser hier unten funktioniert hervorragend auf meinem Entwicklungscomputer, aber auf dem Server wird mir auch nach der Installation der neuesten ODBC-Treiber ein Fehler angezeigt. Ich denke, dies ist das Problem, aber so habe ich es gelöst.
private const string OledbProviderString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\\OlsonWindows.xls;Extended Properties=\"Excel 8.0;HDR=YES\"";
Ich ersetze durch den neuen Anbieter wie folgt:
private const string OledbProviderString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\OlsonWindows.xlsx;Extended Properties='Excel 12.0;HDR=YES;';";
Aber wenn ich das mache, gibt es eine Sache, die Sie beachten sollten. Die Verwendung der XLSX-Dateierweiterung und der Excel-Version ist 12.0.
Nachdem ich diese Fehlermeldung erhalten habe, Fehler: "Installierbares ISAM konnte nicht gefunden werden" , entscheide ich mich, die folgenden Dinge ein wenig zu ändern:
private const string OledbProviderString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\OlsonWindows.xls;Extended Properties='Excel 8.0;HDR=YES;';";
und ja, ich bin mit dieser fiesen Sache fertig, aber hier habe ich eine andere Nachricht erhalten. Das Microsoft Access-Datenbankmodul kann die Datei 'time_zone' nicht öffnen oder in sie schreiben. Es wird bereits ausschließlich von einem anderen Benutzer geöffnet, oder Sie benötigen die Berechtigung zum Anzeigen und Schreiben der Daten. was mir sagt, dass ich nicht weit davon entfernt bin, es zu lösen.
Vielleicht gibt es einen anderen Prozess, der die Datei inzwischen geöffnet hat, und alles, was ich tun muss, ist ein Neustart, und alles läuft wie erwartet reibungslos.