Ich betreibe eine MsAccess mit Mysql-Hintergrunddatenbank und heute habe ich einige Probleme.
Je nachdem, wie weit ich in das Programm eindringen kann, kann ich eine Liste mit allen Namen und Einträgen erhalten. Sobald ich jedoch das Bearbeitungsformular eines Eintrags aufrufe, erhalte ich eine Vielzahl von Ergebnissen. Manchmal habe ich Glück und ich kann den ersten Eintrag sehen. Aber bei jedem weiteren Eintrag wird immer ein MsAccess-Fehler angezeigt: Objekt ungültig oder nicht mehr gesetzt und alle weiteren Aufrufe danach führen zu einem Mysql-ODBC-Fehler von Der Mysql-Server ist verschwunden.
Ich habe mich auf mehreren Websites und sogar auf allen Stack Overflow-Sites mit der gleichen Frage umgesehen und eine Vielzahl von Lösungen ausprobiert. (Beachten Sie, dass diese Datenbank seit Jahren läuft und dies das erste Mal ist, dass ich diese Meldung erhalte) Es dauert auch etwa 2m14s bis 2m59s, bevor es irgendwelche Fehlermeldungen anzeigt.
Hier ist, was ich bisher ausprobiert habe:
- Ich habe versucht, einige der ODBC-Verbindungseinstellungen zu ändern.
- Geprüft Erlaube große Ergebnisse - FAILED
- Aktiviert Auto Reconnect aktivieren - FAILED
- Ich habe die Tabellen überprüft und repariert - FAILED
- Eine große Anzahl von Tabellen führte zu der Meldung "Tabelle muss aktualisiert werden, bitte Tabelle reparieren".
- Ich habe die Zahlen in der my.cnf-Konfiguration verdoppelt und sowohl den mysql-Dienst als auch die msaccess-Software neu gestartet. FAILED
- Dies waren die Einstellungen in meiner my.cnf, nachdem ich die Änderungen vorgenommen hatte.
Toma:
set-variable = max_connections=500
safe-show-database
log-error=/var/log/mysqld.log
connect_timeout=1000
interactive_timeout=28800
wait_timeout=288000 <**This was changed**
join_buffer_size=6M
key_buffer_size=300M <**THIS WAS CHANGED **
max_allowed_packet=300M <**THIS WAS CHANGED **
myisam_sort_buffer_size=300M <**THIS WAS CHANGED **
read_buffer_size=6M
sort_buffer_size=6M
table_cache=12288
thread_cache_size=24
tmp_table_size=132M
query_cache_limit=3M
query_cache_size=64M
query_cache_type=1
Im Grunde habe ich jeden Vorschlag ausprobiert, den ich bisher finden konnte, und ich kann das Problem nicht lösen.
Ich habe auch einen Blick geworfen auf MYSQL: Ist verschwunden Wenn ich mir die Aufzählung dort anschaue
- Niemand hat den laufenden Thread beendet
- Ich glaube nicht, dass die Abfrage ausgeführt wurde, nachdem die Verbindung geschlossen wurde (da sie jahrelang problemlos lief)
- Die Client-Anwendung verfügt über die erforderlichen Berechtigungen
- Ich weiß nicht, wie ich herausfinden kann, ob ich eine Zeitüberschreitung bei der TCP/IP-Verbindung auf der Client-Seite hatte
- Ich weiß nicht, ob ich eine Zeitüberschreitung auf der Serverseite festgestellt habe, aber ich weiß, dass die automatische Wiederherstellung der Verbindung im Client deaktiviert ist.
- ???
- Die Abfrage könnte möglicherweise sehr umfangreich sein, da es sich um ein Formular mit vielen Unterformularen handelt
- ???
- DNS sollte in Ordnung sein, da ich mit einem echten Sql-Viewer (HeidiSQL) eine Verbindung herstellen kann.
- "Kindergabeln
- ???
Ich glaube, das ist einer dieser Fehler, die schwer zu finden sind, da ich erschöpft bin :/ Ich übersehe wahrscheinlich einige Informationen, aber ich bin mir nicht sicher, was ich noch hinzufügen könnte.
---EDIT---
Vielen Dank für Ihre Kommentare, ich bin noch dabei, dieses Problem zu beheben. Es scheint, dass nicht alle Formulare Probleme verursachen. Ich fange also an zu glauben, dass es sich eher um ein MSAccess-Problem als um ein MySql-Problem handelt. Die Formulare, die nicht funktionieren, haben alle die gleiche Zeile in ihrem VBA-Code:
Private Sub Form_Error(DataErr As Integer, Response As Integer)
If Screen.ActiveControl.Name = "UnboundTextBox" Then
Response = acDataErrContinue
End If
End Sub
Ich kann mich nicht daran erinnern, diesen Code eingegeben zu haben, also nehme ich an, dass es eine automatische Sache ist, aber ich gehe immer noch alle meine Formulare durch, um zu sehen, welche diesen Fehler verursachen und welche nicht. Also mehr in ein paar.
---Heute führe ich eine Fehlersuche durch und versuche, alles aus dem Protokoll herauszufinden, das ich auftreiben kann ----
MSACCESS 17ec-b10 EXIT SQLStatisticsW with return code -1 (SQL_ERROR)
HSTMT 0AF82920
WCHAR * 0x00000000 [ -3] <empty string>
SWORD -3
WCHAR * 0x00000000 [ -3] <empty string>
SWORD -3
WCHAR * 0x0013AAE8 [ -3] "location\ 0"
SWORD -3
UWORD 1 <SQL_INDEX_ALL>
UWORD 0 <SQL_QUICK>
DIAG [08S01] [MySQL][ODBC 3.51 Driver][mysqld-5.0.92-community]Lost
connection to MySQL server during query (2013)
----------------------------- FINAL EDIT --------------------------
In der letzten Woche hat mein Chef hart daran gearbeitet, einen neuen internen Server für unser Büro zu installieren. Wir haben auch mehrmals die IPs und die ISP-Anbieter gewechselt. Wie sich herausstellte, hat er mir damit einen administrativen Albtraum beschert, da ich versuchte, Probleme mit dem Server und mit der Software zu beheben usw. usw., obwohl das Problem in den Einstellungen lag, die der ISP-Anbieter mit den Router-Einstellungen festgelegt hatte usw. usw. Im Grunde genommen lag dieses ganze Problem weder am Server noch an der Software, sondern an der Hardware dazwischen.
Jetzt muss ich also alles, was ich gemacht habe, rückgängig machen und versuchen, es auf beiden USB-Stationen zum Laufen zu bringen. Auf dem wichtigen funktioniert es jetzt. Aber auf dem alten funktioniert es nicht, also... Ich schätze, ich muss das einfach herausfinden. [Fuchtelt mit einer imaginären Faust in der Luft] Lol