none
Microsoft JET Database Engine Fehler "80040e37' - The Microsoft Jet database engine could not find the object RRS feed

  • Frage

  • Hallo 

    wir haben auf einem Windows Server 2008 R2 eine Reihe von einfachen Classic ASP Seiten, die als Datenbank Excel-Dateien verwenden. Lief jahrelang stabil. Seit kurzem kommt die Fehlermeldung 

    Microsoft JET Database Engine Fehler "80040e37' 
    The Microsoft Jet database engine could not find the object 'Datenbank'. Make sure the object exists and that you spell its name and the path name correctly. 
    

    Die Datei ist vorhanden, der Name definiert und die Zugriffsrechte sollten auch passen. 

    Der Connection String dazu lautet

      Set oConn = Server.CreateObject("ADODB.Connection")
      oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Excel 8.0;DATABASE=" & db2
    

    Ich bin schon eine Weile raus aus dem Thema (hab das Ganze aber vor Jahren geschrieben) und hab womöglich nicht mitgekriegt wo grade welche OLE DB oder ähnliches "retired" oder anderweitig untauglich gemacht wurde. Die ersten Stunden an nutzloser Suche liegen auch schon hinter mir. 

    Hätte wer Tipps was da in letzter Zeit geändert wurde? 


    -- Thx & Best Regards Hubert Daubmeier

    Donnerstag, 31. August 2017 08:53

Antworten

  • Security-Einstellungen spielen beim Excel-Texttreiber keine Rolle.
    Ggf. gibt es einen Datenfehler innerhalb Exceldatei.
    Dies kann man ggf. mittels MS-Query ausprobieren, in dem man mit einem anderen Excelsheet eine externe Datenabfrage auf die "Datenbank"-Exceldatei ausführt.
    Vielleicht gibt es da eine genauere Fehleraussage.

    In der Verbindungsfolge kenne ich eigentlich nur "...;Data Source=<Pfad/Name der Excel>".

    https://support.microsoft.com/de-de/help/316809/bug-no-ado-connection-error-when-excel-workbook-is-not-found

    • Als Antwort markiert MrProcess Donnerstag, 31. August 2017 11:59
    Donnerstag, 31. August 2017 10:45

Alle Antworten

  • Nun, wie der Fehler schon sagt: "Datenbank" kann nicht gefunden werden.
    Ich nehme mal an, dass dies der Name der Exceldatei?

    Ggf. kann auch nicht auf die Excel-Inhalte zugegriffen werden da der Name "Datenbank" nicht festgelegt ist.
    Der normale Zugriff per ADODB listet die Tabellenblätter jeweils mit ihrem Namen als Tabellenobjekte auf.
    Zusätzlich kann in einem Excelblatt auch ein Zellbereich benannt und als Tabelle angesprochen werden.

    Öffne das Excel mal ganz normal und öffne den Dropdown oben links über der Zelle "A1".
    Dort sollte der Name "Datenbank" auftauchen und bei Auswahl einen Zellbereich markieren.

    Donnerstag, 31. August 2017 10:10
  • Danke für den Beitrag

     

    Wenn die Datei nicht vorhanden wäre, würde ich den Fehler schon beim OPEN kriegen. Nicht bei der Abfrage.

     

    Das Datenbank in "Select * from Datenbank ..." ist hier ein in Excel definierter Name. Der Name ist festgelegt

    (habe ich überprüft). Übrigens ist auch die Datei vorhanden. Und die Leserechte stimmen. 

     

    Nebenbei hat der Code ja ohne Änderung jahrelang funktioniert. Kein Mensch hat den Server angerührt; ich schon gleich gar nicht, weil ich gar nicht die Zeit dazu hätte.

     

    Meiner Meinung nach ist die einzig vorstellbare Änderung ein Security Update, der irgendwelche Befindlichkeiten - wahrscheinlich im Datenbank-Layer - verändert hat.

     


    -- Thx & Best Regards Hubert Daubmeier

    Donnerstag, 31. August 2017 10:26
  • Security-Einstellungen spielen beim Excel-Texttreiber keine Rolle.
    Ggf. gibt es einen Datenfehler innerhalb Exceldatei.
    Dies kann man ggf. mittels MS-Query ausprobieren, in dem man mit einem anderen Excelsheet eine externe Datenabfrage auf die "Datenbank"-Exceldatei ausführt.
    Vielleicht gibt es da eine genauere Fehleraussage.

    In der Verbindungsfolge kenne ich eigentlich nur "...;Data Source=<Pfad/Name der Excel>".

    https://support.microsoft.com/de-de/help/316809/bug-no-ado-connection-error-when-excel-workbook-is-not-found

    • Als Antwort markiert MrProcess Donnerstag, 31. August 2017 11:59
    Donnerstag, 31. August 2017 10:45
  • Jetzt habe ich den Fehler gefunden: der Name Datenbank hat in Excel eine besondere Bedeutung. Der wird intern als Name Database abgelegt und dann in der jeweiligen Lokalisierung auf den entsprechend landestypischen Begriff hinbeschissen. Also hab ich den Namen auf was Unverfängliches - bei mir Gesamtliste - geändert (mit database wollte ich nicht mehr rumprobieren) und schon ging es wieder. Na ja an x anderen Stellen das gleiche Thema. 

    Damit ist aber auch klar die Jungs haben klammheimlich was geändert. Wobei man philosophieren kann ob nun die alte oder nun neue Variante "richtig" sein sollte.

    Vielen Dank für deinen Beitrag. 


    -- Thx & Best Regards Hubert Daubmeier

    Donnerstag, 31. August 2017 11:59
  • Manche Änderungen sind schon eher unheimlich als heimlich.
    Aber Lokalisierungsprobleme gab es schon immer.

    Ich denke mal, dass der User, der durch ASP auf dein Excel zugreift, arbeitet mit der Sprache englisch statt deutsch.
    In diesem Fall zieht natürlich immer die Sprache, wie bei vielen Dingen und das wird schnell vergessen.
    Beim Franzosen heißt das ggf. "base de données"?

    Vielleicht hast du da ja noch weitere Sprachprobleme in deinen ASP's.

    Donnerstag, 31. August 2017 12:23