Plötzlich läuft's nicht mehr: "Der 'Microsoft.ACE.OLEDB.12.0'-Provider ist nicht auf dem lokalen Computer registriert."

  • VB.NET

Es gibt 7 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    Plötzlich läuft's nicht mehr: "Der 'Microsoft.ACE.OLEDB.12.0'-Provider ist nicht auf dem lokalen Computer registriert."

    Hallo

    Ich habe vor gut einem Jahr für meinen Arbeitgeber ein kleines Programm mit vb.net in Heimarbeit erstellt, das mit einer ACCESS MDB arbeitet und mit dem Reportviewer eine simple Druckausgabe bietet. In der Anwendung selbst arbeite ich nur mit SQL-Befehlen, in dem Druckmodul arbeite ich mit einen Dataset und TableAdapter. Bei folgendem Aufruf bricht das Programm mit im Titel genannter Fehlermeldung ab.

    VB.NET-Quellcode

    1. Private Sub Form3_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    2. Me.TabAuswertungTableAdapter1.Fill(Me.MeinDataSet1.TabAuswertung)


    Das Programm ist bisher fehlerfrei gelaufen, es ist seit Monaten unverändert. Bis auf regelmässige Windows-Updates ist an den PCs nichts passiert. Der Fehler taucht sowohl an meinen Arbeits-PC als auch im Büro an den PCs auf. Natürlich habe ich versucht, den Treiber zu installieren, was aber an einer vorhandenen Office 64 Installation scheitert. Mich interessiert, warum das Programm plötzlich nicht mehr läuft und wie ich den Fehler behebe. Den Code für das Druckmodul habe ich mithilfe eines Tutorials erstellt, wahrscheinlich war es sogar ein Tutorial aus diesem Forum.

    Danke im Voruas für eure Hilfe

    Peter
    @Pe..CH Lässt Du uns teil haben, wie Du das Problem gelöst hast?
    Der nächste, der das Problem hat, wird sich darüber freuen. ;)
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Ich habe diese Zeile

    VB.NET-Quellcode

    1. con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Application.StartupPath & "\meine.mdb"


    gegen folgende Zeile ausgetauscht

    VB.NET-Quellcode

    1. con.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & Application.StartupPath & "\meine.mdb"


    und beim Kompilieren die '32-bit bevorzugen' Option deaktiviert. Was ich nicht herausgefunden habe, ist die Ursache. Ich vermute einen Zusammenhang mit einem Windows-oder VS-Update. Das Programm lief, wie bereits erwähnt, monatelang unverändert fehlerfrei.
    @Pe..CH Da gibt es zwei Effekte:
    Einmal x86 <-> x64, das ist die Microsoft-Installation des Providers,
    zum anderen .doc <-> .docX.
    4.0 ist für .doc (alte Version),
    12.0 ist für .docX (neue Version).
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!