Moin zusammen,
ich habe hier ein sehr seltsames Verhalten. Ich schreibe gerade an einer Datenbank Anwendung, die mittels OLEDB auf eine *.accdb zugreift. Bei mir zu Hause funktioniert sie auch
ohne Probleme. Nur hier in der Firma funktioniert sie überhaupt nicht. Jetzt habe ich gerade meinen Firmen PC neu installiert Windows 10 pro 1903 und wieder Office 2016 pro plus + Visual Studio 2017
+ Access Database Engine 2010 installiert und habe schon wieder diesen Fehler...
System.AccessViolationException : "Es wurde versucht, im geschützten Speicher zu lesen oder zu schreiben. Dies ist häufig ein Hinweis darauf, dass anderer Speicher beschädigt ist."
Der Speicher ist vollkommen in Ordnung der wurde letzte Woche ausgetauscht von 2 x 4GB auf jetzt 2 x 8GB, daran kann es nicht liegen. Die Datenbank Datei wird beim ersten Start
automatisch mit ADOx erstellt, dies funktioniert auch. Die Access Datei kann mit Passwort geöffnet werden, es wird bei Start nur eine Tabelle in der Datenbank erzeugt diese heißt
LK_Payment_2019. Beim Start werden dann alle Tabellennamen der Datenbank ausgelesen und in eine Combobox gepackt. Ich habe mal manuell die Tabelle in der DB kopiert und
LK_Payment_2020 genannt und beide Tabellen sind in der Combobox drin.
Nun soll beim ändern der Combobox also Auswahl (DropDownClosed Event) einer Tabelle der Inhalt geladen werden, der ist natürlich jetzt noch nicht da. Aber normalerweise wird dann einfach der Header
angezeigt. Ich rufe hier also mit dem Tabellennamen (LK_Payment_2019) die fillLKPayment Methode auf und darin knallt es
Ich habe schon mit Debuggen die Variablen überprüft, ob irgendwas leer ist oder der gleichen, aber DB Pfad und Kennwort sind drin und passen auch und es wird ja auch das Schema ausgelesen und das geht auch über
den Dataprovider und da knallt nix.
Das wirklich seltsame ist das es bei mir zu Hause auf meinem iMac Pro mit Windows 10 pro 1903 Visual Studio 2017 pro + Office365 (Office 2016) + Access Database Engine 2010 x86 funktioniert
kein Fehler kein Absturz, ich wähle nach dem Start, aus der Combobox die Tabelle aus und zack, Tabellen Header wird geladen und angezeigt, nicht der Hauch eines Fehlers und hier bei der Arbeit geht es nicht.
Jetzt habe ich die *.exe Datei einem Kollegen gegeben, der hat vor meinen Augen die Access Database Engine runtergeladen und installiert und auch dort kommt von net Framework eine Fehlermeldung
mit Weiter und Beenden. Aber bei ihm wird wenigstens noch der Header angezeigt.
Ich steh hier vor einem Rätsel und hab mittlerweile keine Idee mehr woran das liegen könnte.
Hat das schon mal einer gehabt, woran könnte das liegen?!
Schon mal danke für eure Hilfe
ich habe hier ein sehr seltsames Verhalten. Ich schreibe gerade an einer Datenbank Anwendung, die mittels OLEDB auf eine *.accdb zugreift. Bei mir zu Hause funktioniert sie auch
ohne Probleme. Nur hier in der Firma funktioniert sie überhaupt nicht. Jetzt habe ich gerade meinen Firmen PC neu installiert Windows 10 pro 1903 und wieder Office 2016 pro plus + Visual Studio 2017
+ Access Database Engine 2010 installiert und habe schon wieder diesen Fehler...
System.AccessViolationException : "Es wurde versucht, im geschützten Speicher zu lesen oder zu schreiben. Dies ist häufig ein Hinweis darauf, dass anderer Speicher beschädigt ist."
Der Speicher ist vollkommen in Ordnung der wurde letzte Woche ausgetauscht von 2 x 4GB auf jetzt 2 x 8GB, daran kann es nicht liegen. Die Datenbank Datei wird beim ersten Start
automatisch mit ADOx erstellt, dies funktioniert auch. Die Access Datei kann mit Passwort geöffnet werden, es wird bei Start nur eine Tabelle in der Datenbank erzeugt diese heißt
LK_Payment_2019. Beim Start werden dann alle Tabellennamen der Datenbank ausgelesen und in eine Combobox gepackt. Ich habe mal manuell die Tabelle in der DB kopiert und
LK_Payment_2020 genannt und beide Tabellen sind in der Combobox drin.
Nun soll beim ändern der Combobox also Auswahl (DropDownClosed Event) einer Tabelle der Inhalt geladen werden, der ist natürlich jetzt noch nicht da. Aber normalerweise wird dann einfach der Header
angezeigt. Ich rufe hier also mit dem Tabellennamen (LK_Payment_2019) die fillLKPayment Methode auf und darin knallt es
VB.NET-Quellcode
- Dim LKDB As New OleDbConnection(getProviderString) '>> holt den DataProvider Provider=Microsoft.ACE.OLEDB.12.0....;
- Dim SQLString As String = "SELECT * FROM " & sTablename & ";"
- Dim DBDataadapter As OleDbDataAdapter
- Dim DBDataset As New DataSet
- resetDGV() 'resettet das Datagridview
- LKDB.Open() '<<<**********hier knallts************
- DBDataadapter = New OleDbDataAdapter(SQLString, LKDB)
- DBDataadapter.Fill(DBDataset, sTablename)
- DBDataadapter.Dispose()
- LKDB.Close()
- frmMain.dgv_LKPayment.DataSource = DBDataset.Tables(sTablename)
Ich habe schon mit Debuggen die Variablen überprüft, ob irgendwas leer ist oder der gleichen, aber DB Pfad und Kennwort sind drin und passen auch und es wird ja auch das Schema ausgelesen und das geht auch über
den Dataprovider und da knallt nix.
Das wirklich seltsame ist das es bei mir zu Hause auf meinem iMac Pro mit Windows 10 pro 1903 Visual Studio 2017 pro + Office365 (Office 2016) + Access Database Engine 2010 x86 funktioniert
kein Fehler kein Absturz, ich wähle nach dem Start, aus der Combobox die Tabelle aus und zack, Tabellen Header wird geladen und angezeigt, nicht der Hauch eines Fehlers und hier bei der Arbeit geht es nicht.
Jetzt habe ich die *.exe Datei einem Kollegen gegeben, der hat vor meinen Augen die Access Database Engine runtergeladen und installiert und auch dort kommt von net Framework eine Fehlermeldung
mit Weiter und Beenden. Aber bei ihm wird wenigstens noch der Header angezeigt.
Ich steh hier vor einem Rätsel und hab mittlerweile keine Idee mehr woran das liegen könnte.
Hat das schon mal einer gehabt, woran könnte das liegen?!
Schon mal danke für eure Hilfe
VG steel