System.AccessViolationException bei OLEDB Zugriff Access 2016 *.accdb

Diskutiere und helfe bei System.AccessViolationException bei OLEDB Zugriff Access 2016 *.accdb im Bereich Microsoft Office im Windows Info bei einer Lösung; Hallo zusammen, ich entwickele gerade eine Anwendung mit Desktop Datenbank *.accdb Access 2016 (Office 2016 professional plus) in Visual Studio 2017... Dieses Thema im Forum "Microsoft Office" wurde erstellt von Daniel St., 25. Juli 2019.

  1. Daniel St.
    Daniel St. Gast

    System.AccessViolationException bei OLEDB Zugriff Access 2016 *.accdb


    Hallo zusammen,

    ich entwickele gerade eine Anwendung mit Desktop Datenbank *.accdb Access 2016 (Office 2016 professional plus) in Visual Studio 2017 professional mit Visual Basic.net. Dazu nutze ich die Access Database Engine 2010 x86, da später auf den Rechner kein Access installiert werden wird. Die Datenbank wird mittels ADOx 6.0 erzeugt und es wird automatisch eine Tabelle dort drin geschrieben, dass funktioniert auch. Man kann die Access Datei im Anschluss mit Kennwort auch öffnen. Felder / Tabellen sind alle da und editierbar.


    Aber beim Zugriff auf die Access Datei *.accdb mit meinem Programm mittels ProviderString und Connection.Open() >> laden des Inhalts der Tabelle mit SELECT * FROM Tabelle in ein Datagridview, stürzt das gesamte .net Framework ab. Es kommt nicht einmal eine

    .net Framework Ausnahme mit "Weiter" und "Beenden". Das Programm schließt sich einfach ohne irgendeine Meldung. Man findet lediglich im Windows Event Log Application zwei Einträge .NET Runtime und Application Error


    Der Rechner ist diese Woche jetzt schon 3 mal neu installiert worden mit Windows 10 pro 1903, zudem ist der Fehler auf 3 anderen Rechner ebenfalls

    reproduzierbar. Das installieren der Access Database Engine 2016 (English) hilft nicht, beseitigt den Fehler nicht. Installiert man danach allerdings wieder

    Access Database Engine 2010 x86 geht's auf einmal. Startet man dann Access Standalone kommt ein MSI Installationsdialog und Access

    startet ganz normal. Schließt man nun Access und startet die eigene Anwendung noch mal ist der Fehler wieder da.


    Was ist das und wie werde ich diesen Fehler los? Ich habe schon x solcher Anwendungen geschrieben, mit Access auf dem Rechner und auch ohne,

    eben über die Access Database Engine 2010, aber so einen Fehler hatte ich noch nie. Bei mir zu Hause setze ich Office365 und Access Database

    Engine 2010 ein und dort läuft das Programm ohne Probleme.


    Schon mal danke für eure Hilfe!


    der .NET Runtime Eintrag sieht so aus


    Anwendung: LKPa************.exe

    Frameworkversion: v4.0.30319

    Beschreibung: Der Prozess wurde aufgrund einer unbehandelten Ausnahme beendet.

    Ausnahmeinformationen: System.AccessViolationException

    bei System.Data.OleDb.DataSourceWrapper.InitializeAndCreateSession(System.Data.OleDb.OleDbConnectionString, System.Data.OleDb.SessionWrapper ByRef)

    bei System.Data.OleDb.OleDbConnectionInternal..ctor(System.Data.OleDb.OleDbConnectionString, System.Data.OleDb.OleDbConnection)

    bei System.Data.OleDb.OleDbConnectionFactory.CreateConnection(System.Data.Common.DbConnectionOptions, System.Data.Common.DbConnectionPoolKey, System.Object, System.Data.ProviderBase.DbConnectionPool, System.Data.Common.DbConnection)

    bei System.Data.ProviderBase.DbConnectionFactory.CreateConnection(System.Data.Common.DbConnectionOptions, System.Data.Common.DbConnectionPoolKey, System.Object, System.Data.ProviderBase.DbConnectionPool, System.Data.Common.DbConnection, System.Data.Common.DbConnectionOptions)

    bei System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(System.Data.Common.DbConnection, System.Data.ProviderBase.DbConnectionPoolGroup, System.Data.Common.DbConnectionOptions)

    bei System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(System.Data.Common.DbConnection, System.Threading.Tasks.TaskCompletionSource`1<System.Data.ProviderBase.DbConnectionInternal>, System.Data.Common.DbConnectionOptions, System.Data.ProviderBase.DbConnectionInternal, System.Data.ProviderBase.DbConnectionInternal ByRef)

    bei System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(System.Data.Common.DbConnection, System.Data.ProviderBase.DbConnectionFactory, System.Threading.Tasks.TaskCompletionSource`1<System.Data.ProviderBase.DbConnectionInternal>, System.Data.Common.DbConnectionOptions)

    bei System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(System.Data.Common.DbConnection, System.Data.ProviderBase.DbConnectionFactory, System.Threading.Tasks.TaskCompletionSource`1<System.Data.ProviderBase.DbConnectionInternal>, System.Data.Common.DbConnectionOptions)

    bei System.Data.ProviderBase.DbConnectionInternal.OpenConnection(System.Data.Common.DbConnection, System.Data.ProviderBase.DbConnectionFactory)

    bei System.Data.OleDb.OleDbConnection.Open()

    bei LKPaymentClient.clsDB.fillLKPayment(System.String)

    bei LKPaymentClient.frmMain.ToolStripComboBox_DropDownClosed(System.Object, System.EventArgs)

    bei System.Windows.Forms.ToolStripItem.RaiseEvent(System.Object, System.EventArgs)

    bei System.Windows.Forms.ToolStripComboBox.OnDropDownClosed(System.EventArgs)

    bei System.Windows.Forms.ToolStripComboBox.HandleDropDownClosed(System.Object, System.EventArgs)

    bei System.Windows.Forms.ComboBox.OnDropDownClosed(System.EventArgs)

    bei System.Windows.Forms.ToolStripComboBox+ToolStripComboBoxControl.OnDropDownClosed(System.EventArgs)

    bei System.Windows.Forms.ComboBox.WmReflectCommand(System.Windows.Forms.Message ByRef)

    bei System.Windows.Forms.ComboBox.WndProc(System.Windows.Forms.Message ByRef)

    bei System.Windows.Forms.Control+ControlNativeWindow.OnMessage(System.Windows.Forms.Message ByRef)

    bei System.Windows.Forms.Control+ControlNativeWindow.WndProc(System.Windows.Forms.Message ByRef)

    bei System.Windows.Forms.NativeWindow.Callback(IntPtr, Int32, IntPtr, IntPtr)

    bei System.Windows.Forms.UnsafeNativeMethods.SendMessage(System.Runtime.InteropServices.HandleRef, Int32, IntPtr, IntPtr)

    bei System.Windows.Forms.Control.SendMessage(Int32, IntPtr, IntPtr)

    bei System.Windows.Forms.Control.ReflectMessageInternal(IntPtr, System.Windows.Forms.Message ByRef)

    bei System.Windows.Forms.Control.WmCommand(System.Windows.Forms.Message ByRef)

    bei System.Windows.Forms.Control.WndProc(System.Windows.Forms.Message ByRef)

    bei System.Windows.Forms.ScrollableControl.WndProc(System.Windows.Forms.Message ByRef)

    bei System.Windows.Forms.ToolStrip.WndProc(System.Windows.Forms.Message ByRef)

    bei System.Windows.Forms.Control+ControlNativeWindow.OnMessage(System.Windows.Forms.Message ByRef)

    bei System.Windows.Forms.Control+ControlNativeWindow.WndProc(System.Windows.Forms.Message ByRef)

    bei System.Windows.Forms.NativeWindow.Callback(IntPtr, Int32, IntPtr, IntPtr)

    bei System.Windows.Forms.UnsafeNativeMethods.CallWindowProc(IntPtr, IntPtr, Int32, IntPtr, IntPtr)

    bei System.Windows.Forms.NativeWindow.DefWndProc(System.Windows.Forms.Message ByRef)

    bei System.Windows.Forms.Control.DefWndProc(System.Windows.Forms.Message ByRef)

    bei System.Windows.Forms.Control.WmCommand(System.Windows.Forms.Message ByRef)

    bei System.Windows.Forms.Control.WndProc(System.Windows.Forms.Message ByRef)

    bei System.Windows.Forms.ComboBox.WndProc(System.Windows.Forms.Message ByRef)

    bei System.Windows.Forms.Control+ControlNativeWindow.OnMessage(System.Windows.Forms.Message ByRef)

    bei System.Windows.Forms.Control+ControlNativeWindow.WndProc(System.Windows.Forms.Message ByRef)

    bei System.Windows.Forms.NativeWindow.Callback(IntPtr, Int32, IntPtr, IntPtr)

    bei System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG ByRef)

    bei System.Windows.Forms.Application+ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr, Int32, Int32)

    bei System.Windows.Forms.Application+ThreadContext.RunMessageLoopInner(Int32, System.Windows.Forms.ApplicationContext)

    bei System.Windows.Forms.Application+ThreadContext.RunMessageLoop(Int32, System.Windows.Forms.ApplicationContext)

    bei Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.OnRun()

    bei Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.DoApplicationModel()

    bei Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.Run(System.String[])

    bei LKPaymentClient.My.MyApplication.Main(System.String[])



    die Meldung Application Error im EventLog



    Name der fehlerhaften Anwendung: LKPa************.exe, Version: 1.2.2805.0, Zeitstempel: 0xeff981fe

    Name des fehlerhaften Moduls: mso40uiwin32client.dll, Version: 16.0.4849.1000, Zeitstempel: 0x5cb5f9a6

    Ausnahmecode: 0xc0000005

    Fehleroffset: 0x0016704a

    ID des fehlerhaften Prozesses: 0x2794

    Startzeit der fehlerhaften Anwendung: 0x01d542b38f3e865b

    Pfad der fehlerhaften Anwendung: D:\Entwicklung\Projekte\LKPaymentClient\trunk\LKPaymentClient\bin\Debug\LKPa************.exe

    Pfad des fehlerhaften Moduls: C:\Program Files (x86)\Common Files\Microsoft Shared\Office16\mso40uiwin32client.dll

    Berichtskennung: 041db891-9018-4038-a99c-99cbd6621f4d

    Vollständiger Name des fehlerhaften Pakets:

    Anwendungs-ID, die relativ zum fehlerhaften Paket ist:




     


     
     
  2. Daniel St. Win User

    System.AccessViolationException bei OLEDB Zugriff Access 2016 *.accdb

    Hallo Peter,

    an dem Connection String liegt das nicht, der wird auch in x anderen Anwendungen mit Access als Desktop Datenbank verwendet und funktioniert auch, den beim Start, werden über OLEDB Schema alle Tabellen ausgelesen und in ein Pull-Downmenü eingetragen und
    das funktioniert auch mit diesem Connection String.

    Das muss was anderes sein, vor allem installiert man Access Database Engine 2016 geht's nicht. Schmeißt man dann

    2016 runter und 2010 wieder drauf geht's auf einmal. Ich glaube das ist ein Versions Konflikt bei den Treiber Dateien, die Datei

    mso40uiwin32client.dll steht immer wieder im Log drin, wahrscheinlich installiert Office 2016 professional plus ne neuere Version, und durch

    das installieren / deinstallieren kommt dann die richtige Variante drauf. Aber z.B. bei mir zu Hause geht's ohne Probleme Windows 10 pro 1903 / Visual Studio 2017 pro. / Access Database Engine 2010 / Office365 Business, da läuft die Anwendung ohne Probleme.
    Wir haben bei uns jetzt mal ne normale Arbeitsplatz Maschine mit Maxtrix42 virtuell aufgesetzt, auch da kommt Office 2016 drauf nur nicht professional plus, sondern Standard ohne Access. Access Database Engine 2010 installiert (weil das in der Matrix Verteilung
    nicht drin ist) >> läuft!

    Nur auf einem Arbeitsplatz Rechner, läufts nicht. Aber ich brauch halt bei mir auch Access mit drauf um mir die generiete accdb ansehen zu können, dass ist fürs testen echt Mist.

    "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" & sMSAccess_File_Path & "\" & sMSAccess_File_Name & "; Jet OLEDB:Database Password=" & modCrypto.Decrypt(msv_sMSAccess_File_Password_En, sKey, sSalt, 256) ;"
  3. Peter Doering Win User

    System.AccessViolationException bei OLEDB Zugriff Access 2016 *.accdb

    Hallo,

    Wie sieht denn der Connection-String aus?

    Gruss _ Peter
  4. Peter Doering Win User

    System.AccessViolationException bei OLEDB Zugriff Access 2016 *.accdb

    Hallo Daniel,

    Den Connection-String wollte ich sehen, um uns ein paar Rückfragen zu ersparen. Ich sehe, du greifst per ADO zu. Es ist zwar nicht mehr als ein Strohhalm, aber falls du die Möglichkeit
    hast, mit (ACE)DAO zu testen, wäre der Connection-String:

    "Driver={Microsoft Access Driver (*.mdb, *.accdb)};Dbq=" & sMSAccess_File_Path & "\" & sMSAccess_File_Name & ";Uid=Admin;Pwd="
    & modCrypto.Decrypt(msv_sMSAccess_File_Password_En, sKey, sSalt, 256) ;"

    Gruss - Peter
  5. DeFr. Win User

    Office 16 Click-to-run Extensibility Component 64-bit Registration blockiert 32-bit Installationen (Access DB Engine)

    Hallo Georgi,

    danke für die Rückmeldung. Ich bin allerdings jetzt gerade auf die Lösung gestoßen:

    https://support.microsoft.com/en-us...-driver-or-oledb-provider-outside-office-clic

    Ich werde einfach die Installation mit dem Parameter /quiet durchführen - die offensichtlich dann durchgeführt wird, ohne auf Abhängigkeiten zu achten. Anschließend habe ich Zugriff auf die benötigten OLEDB Schnittstellen.

    Gruß

  6. Lisa Wilke-Thissen Win User

    Anzeige von daten aus Access DB in Word

    Hallo Klaus,

    Jetzt mit der neuen Datenbank 2010 habe ich aus Access keine Möglichkeit mehr mit DDE zu arbeiten.
    du startest den Seriendruck in Access?

    Deshalb habe ich mich für OLEDB (Standard) entschieden. Nun formatiert es aber nicht mehr richtig.
    In Word ist die Option "Dateiformatkonvertierung beim Öffnen bestätigen" (Word-Optionen | Erweitert | Allgemein) aktiviert?

    Hast du den Seriendruck mal in Word gestartet?

    Ich habe mich entschieden, eine neue Worddatei zu schreiben um allen "Problemen" aus dem Weg zu gehen. Deshalb wundert mich der Fehler.
    Mich wundert es auch, denn die Formatschalter in deinen Seriendruckfeldern sehen korrekt aus und bei mir funktioniert es auch per OLEDB:

    ( { MERGEFIELD Datum \@ "dd.MM.yyyy" } und { MERGEFIELD KV Betrag \# "#.##0,00" } )

    (Übrigens lässt sich auch noch DDE verwenden, ist aber nicht empfehlenswert.)

    Nutzt du eine Tabelle oder eine Abfrage aus Access? Wie sind die Felder dort formatiert?

    Auch Dir eine schöne Adventszeit

    Lisa [MS MVP Word]
  7. User Advert


    Hi,

    willkommen im Windows Forum!
Thema:

System.AccessViolationException bei OLEDB Zugriff Access 2016 *.accdb - Microsoft Office

Die Seite wird geladen...

System.AccessViolationException bei OLEDB Zugriff Access 2016 *.accdb - Similar Threads - System AccessViolationException OLEDB

Forum Datum

Signieren einer Access-Datei ohne Extension .accdb oder .accde klappt nicht

Signieren einer Access-Datei ohne Extension .accdb oder .accde klappt nicht: Seit geraumer Zeit ist es wieder möglich Access-VBA Code mit der aktuellen Access 365 Version zu signieren. Das klappt auch solange die Extension der Access-Datei auf .accdb oder .accde endet. Ist...
Microsoft Office 7. Februar 2024

Access 97.mdb zu accdb konvertieren

Access 97.mdb zu accdb konvertieren: Hallo zusammen, ich habe leider zu lange gewartet... Auf meinem Win7-Rechner 64bit habe ich Access 97 sowie Access XP/2002 sowie Access 2013 installiert. Access 97, da ich noch eine Reihe alter...
Microsoft Office 4. Mai 2022

Access 2016

Access 2016: Ich möchte in einer Datenbank, nach dem ich eine PDF-Datei gefunden habe, diese Datei in einem Formular anzeigen können. Das hat früher funktioniert Ole-Server??, jetzt aber nicht mehr. Was ist...
Microsoft Office 19. August 2020

Access 2016

Access 2016: Access 2016: 1. Berechnungsfehler statt z.B. 0,2 - 0,1999... 2. Bei einer Berechnung mit Wenn-Funktion wird im Format " kg" nicht übernommen. (0,0" kg"). 3. Folgende Anzeige wird wie...
Microsoft Office 7. Juni 2017

Access 2016

Access 2016: Hallo Ich habe mit einer älteren Version (2012) eine Datenbank zur Rechnungskontrolle erstellt. Für die Darstellung des Formular habe ich auf ein ".gif" aus dem Programm gewählt. Da ich jetzt mit...
Microsoft Office 11. Januar 2017

Zugriff auf Outlook-Kontakte via MS-Access 2016

Zugriff auf Outlook-Kontakte via MS-Access 2016: Hallo zusammen, ich will via MS-Access 2016 auf meine Outlook-Kontakte auf meinem lokalen Outlook (Office 365 Business Premium) zugreifen. Über Outlook verwalte ich ein gmx-Konto und zwei Office...
Microsoft Office 28. November 2016

Zugriff auf Outlook-Kontakte via MS-Access 2016

Zugriff auf Outlook-Kontakte via MS-Access 2016: Hallo zusammen, ich will via MS-Access 2016 auf meine Outlook-Kontakte auf meinem lokalen Outlook (Office 365 Business Premium) zugreifen. Über Outlook verwalte ich ein gmx-Konto und zwei Office...
Microsoft Office 23. November 2016
System.AccessViolationException bei OLEDB Zugriff Access 2016 *.accdb solved
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.