none
OleDB Zugriff auf Excel geht mit KB4041681

    Frage

  • Mit dem KB4041681 erfolgt ein Update der JET Engine. Seither kann ich weder via ODBC Treiber noch im Programm mit

    DimexclConn AsOleDbConnection = NewOleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\VS2013\Excel\x.xls;Extended Properties=""Excel 8.0;HDR=Yes;IMEX=1"";")

    exclConn.Open()

    Auf Exceldatenquellen zugreifen. Es kommt:

    System.Data.OleDb.OleDbException ist aufgetreten.
      HResult=0x80004005
      Nachricht = Unexpected error from external database driver (1).
      Quelle = Microsoft JET Database Engine

    Wenn ich das KB4041681 deinstallieren klappt wieder alles. Ich weiß auch nicht recht wo man das Microsoft melden soll, bei MS-Connect finde ich nichts dazu. 


    Freudi

    Donnerstag, 12. Oktober 2017 11:46

Alle Antworten

  • Hallo Freudi,

    das o.g. Update KB4041681 ist ja für Windows 7 bzw. Windows 2008 R2.

    Derselbe Patch dürfte aber auch in den Updates KB4041693 (Windows 8.1, Windows 2012 R2) und KB4041687 (ebenfalls Windows 8.1, Windows Server 2012 R2) stecken.

    Siehe dazu:

      https://www.borncity.com/blog/2017/10/11/sicherheits-updates-fr-windows-78-1-oktober-2017/

    Auf Windows 10 (ggfs. auch Windows Server 2016) dürfte dann KB4041676 den Fehler verursachen.

    Falls also jemand auf Windows 8.1, Windows 10, Windows 2012 R2 oder Windows Server 2016 auf das von dir genannte Problem stößt, ggfs. dann hier melden.

    Derzeit wüsste ich leider auch keinen Platz, an dem man das Problem melden könnte. Das sinnvollste scheint mir da noch Stack Overflow zu sein.

      ODBC Excel Driver: Unexpected error from external database driver

      OleDb exception when trying to make connection with Excel

     


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community


    Donnerstag, 12. Oktober 2017 13:01
  • Hallo Freudi,

    hab heute mehrere Testsysteme mit Windows 7, 8.1 und 10 mit ODBC Datenbankabfragen laufen gehabt, alle auf neuesten Updatestand, bei keinem trat dieser Fehler auf.

    Zu der aufgeführten OleDB Abfrage (mit Excel Ziel) kann ich nichts sagen - geht allerdings beides auf die Microsoft Jet Database Engine.

    Tritt der Fehler nur auf einem System auf, oder konntest Du diesen auf einem weiteren Reproduzieren? Ist das nur bei Excel oder auch bei Access Datenquellen?


    - Gruß Florian

    Donnerstag, 12. Oktober 2017 13:15
  • Hallo Florian

    Bislang haben sich 10 Kunden mit Windows 7 bei mir gemeldet, bei allen dasselbe. Es betrifft nur Excel, nicht Access, die Software von mir öffnet mit dem oben beschriebenen Code auch Access Datenbanken.

    Alles 32 Bit. Auf Windows 10 tritt das Problem nicht auf allerdings ist KB4041676 noch nicht installiert, das probiere ich gerade. Danke für den Hinweis auf die anderen KB's mit den Windows 8 / 8.1 / 10 Stefan!


    Freudi

    Donnerstag, 12. Oktober 2017 13:24
  • Es liegt an msexcl40.dll, wenn ich die Version vor dem Update nehme funktioniert alles.

    Auf Windows 10 tritt der Fehler nach KB4041676  auch auf !


    Freudi

    Donnerstag, 12. Oktober 2017 13:45
  • Okay, Danke, mit Excel als Datenquelle haben wir derzeit nichts im Einsatz - daher kam wohl kein Fehler.

    - Gruß Florian

    Donnerstag, 12. Oktober 2017 13:58
  • Für die Kunden die ein Excel >= 2007 auf Ihrem Rechner installiert haben kann ich die OleDb Quelle umstellen von JET auf ACE, das haben aber nicht alle. Der Code wird benutzt um XLS Daten von medizinischen Geräten einzulesen, diese Anwender haben nicht zwingend Excel installiert, mit der eigentlich immer vorhandenen JET Engine hatte ich da auch eine Lösung. Meine Kunden sind Kliniken, Krankenhäuser die sensibilisiert durch die Fälle die in den letzten Jahren aufgetreten sind immer alle Updates sofort installieren und es ist für uns wegen Qualitätssicherung auch nicht ganz einfach Updates unserer Software zu verteilen. Sehr ärgerlich! 

    Freudi

    Donnerstag, 12. Oktober 2017 14:10
  • Hallo Freudi,

    Es liegt an msexcl40.dll, wenn ich die Version vor dem Update nehme funktioniert alles.

    hast Du nur diese eine DLL durch eine frühere Version ersetzt?


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community

    Donnerstag, 12. Oktober 2017 14:20
  • Jawohl, mit der Version vor'm Update 

    1.7.2017 15:05 4.00.98001.0 332 KB


    Freudi

    Donnerstag, 12. Oktober 2017 14:40
  • Dazu muss man aber den Besitz übernehmen sonst kann man die nicht ersetzen.


    Freudi

    Donnerstag, 12. Oktober 2017 14:50
  • Die fehlerhafte Version unter Windows 7 ist vom

    8.9.2017 16:20 4.00.98001.1 337 KB

    Wem meldet man denn so was jetzt nun? Bei MS-Connect finde ich keinen passenden Punkt. 


    Freudi

    Freitag, 13. Oktober 2017 07:59
  • Windows Feedback-Hub, fällt mir da ein. Vielleicht weiß jemand besseres. Hab unsere letzten Probleme mit Treibern auch dort gemeldet.

    - Gruß Florian

    Freitag, 13. Oktober 2017 08:00
  • Beim Zugriff auf eine als ODBC Datenquelle eingerichtete Excel Tabelle kommt es auch zum Fehler. In der Exception stehen folgende Details:
    State:S1000,Native:-5016,Origin:[Microsoft][ODBC Excel Driver]
    State:IM006,Native:0,Origin:[Microsoft][ODBC Driver Manager]
    Reservierter Fehler (-5016); es gibt keine Meldung für diesen Fehler.
    Fehler bei SQLSetConnectAttr-Aufruf für Treiber

    - Gruß Florian

    Montag, 16. Oktober 2017 08:46
  • Kann ich bestätigen. Auch hier hilft erst mal das Ersetzen der msexcl40.dll mit einer Version vor dem 8.9.2017

    Das kann aber nicht die finale Lösung sein. Von MS habe ich noch keine Antwort, ich hatte das über das Feedback HUB gemeldet.


    Freudi

    Montag, 16. Oktober 2017 09:17
  • Hab das gleiche Problem. Woher bekommt man die dll?
    Dienstag, 17. Oktober 2017 11:18
  • Von einem anderen PC oder Du machst das KB rückgängig, sicherst Dir die DLL, und wendest das KB wieder an.

    Wie die KB's genau für Dein System heißen musst Du mal oben in diesem Thread schauen sind alle genannt worden


    Freudi

    Dienstag, 17. Oktober 2017 12:27
  • Das kann aber nicht die finale Lösung sein. Von MS habe ich noch keine Antwort, ich hatte das über das Feedback HUB gemeldet.

    Kannst Du den Link zu deinem Feedback hier teilen? Dann können wir dafür Abstimmen.

    - Gruß Florian

    Dienstag, 17. Oktober 2017 12:37
  • Also mein erstes Feedback habe ich gar nicht mehr gefunden, ich habe es jetzt nochmal eingestellt weiß aber nicht wo ich da klicken soll um einen Link zu bekommen. Aber hier ist ein Snapshot vielleicht findet ihr das ja mit einem der Begriffe.

    Freudi

    Dienstag, 17. Oktober 2017 14:19
  • Gefunden: Hier der Link.

    - Gruß Florian

    Dienstag, 17. Oktober 2017 14:36
  • wir haben in unserer Software ca. 50.000 bis 100.000 potentiell betroffene User... die lezte Version unseres Tools kann zwar  nach xlsx exportieren, aber die hat nicht mal 1/3 der betroffenen Anwender, der Rest kann die neueste Version nicht ohne aufwändige (und teure) Validierungsprozesse einsetzen wenn sie vorher noch keine Verwendung gefunden hat.

    Da wir nicht die einzigen sind, die ernsthafte  Probleme durch diesen Verhaltenswechsel an zentraler Stelle in Windows haben, würde ich mal behaupten daß es in relativ kurzer Zeit einen "private" Patch von Microsoft geben, für die Kunden bei denen die Hütte echt brennt.

    Bleibt noch anzumerken, daß der XLSX Export kein Bestnadteil des Betriebsystems ist sondern grundsätzlich vom Office oder vom Access Runtime nachinstalliert wird. Wer irgendwie kann sollte auf den XLSX Export ausweichen...

    Außerdem wird die msexcl40.dll möglicherweise dem Systemschutz unterliegen.... ich probier das mal aus.


    IT architect - Terminal servers, virtualizations, SQL servers, file servers, WAN networks and closely related to software devleopment (8 years + experience in VB, C++ and script langugaes), MCP for SQL server and CCAA for Xenapp 6.5



    • Bearbeitet Al Hasoob Mittwoch, 18. Oktober 2017 12:33
    Mittwoch, 18. Oktober 2017 12:12
  • Hallo Al

    Bei der DLL musste ich vorher den Besitz übernehmen, dann konnte ich die ersetzen, bislang funktioniert es auch bei meinen Kunden, aber ich denke ein sfc.exe Lauf könnte ein Problem darstellen, wo ich konnte, d.h. wo die Kunden ein Excel > 2007 installiert haben, habe ich das auch auf XLSX Export/Import umgestellt, aber das sind nicht alle.

    Wo außer dem Feedback Hub kann man das noch melden? Oder können wir auch für Dich irgendwo voten ? 


    Freudi

    Mittwoch, 18. Oktober 2017 13:42