menatolin Geschrieben 21. Oktober 2008 Teilen Geschrieben 21. Oktober 2008 Hallo, folgendes Problem: Ich nutze den MS SQL Server Management Studio Express als Backend und Access 2000 als Frontend. Seid kurzem kommt es vor, dass sich Access bei Updates und Inserts aufhängt, das allerdings völlig willkürlich. Ich kann im Debug Modus Einzelschritte ausführen lassen und absolut zufällig hängt sich das Programm bei Updates/ Inserts auf. Ich kriege also nicht mal eine Fehlermeldung, es passiert einfach nichts mehr. Ich habs mit Docmd.RunSql probiert, per Ado-Connection, per SP in der ich den SQL-String geschrieben habe - der Fehler kommt immer wieder, dafür aber immer mal wieder anders. Soll heißen ein Update, was beim letzten Versuch das Aufhängen verursacht hat, kann beim nächsten mal einwandfrei durchlaufen - und umgekehrt. Ich bin mit meinem Latein am Ende, weil der Fehler halt so willkürlich auftritt und ich weder eine Fehlermeldung bekomme, noch irgendeine Chance hätte ihn zu Debuggen. Was kann das sein? P.S.: Fehler am Code kann ich ausschließen - es hat sich seid Monaten nichts am Code geändert und der SQL String funktioniert auch, wenn man ihn im SQL-Server als Abfrage ausführt. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
flashpixx Geschrieben 21. Oktober 2008 Teilen Geschrieben 21. Oktober 2008 Ich hatte zwar nicht dieses Problem, aber ein ähnliches: WIr hatten MS Navision laufen und bei umfangreichen Läufen hat es sich aufgehangen. Client fehlerfrei, Server auch, also auch genügend Platz auf der Platte usw. Haben sogar mal das System geklont und testweise auf einen anderen Server verschoben, da lief alles ohne Probleme durch (1 User, 1 Server). Wir haben wieder in der Originaldatenbank uns das einen Tag lang protokollieren lassen, wie groß die Dateien werden, wann sie wie im Zugriff waren usw. Dabei ist uns aufgefallen, dass bei einem Lauf die Cachedateien für die Transaktionssicherung immer riesiger wurden und zwar so lange, so lange der User in der Datenbank eingeloggt war. Bei einem User war das nicht das Problem, aber mehreren dann schon, weil irgendwann die HDD voll war. Die Lösung war hier, dass die Transaktion in der Programmierung unter bestimmten Umständen nicht abgeschlossen wurde (weder Rollback noch Commit), Programmierung geändert und damit war dann alles behoben HTH Phil Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
menatolin Geschrieben 21. Oktober 2008 Autor Teilen Geschrieben 21. Oktober 2008 Ich habe mal im Aktivitätenmonitor vom MS SQL Server gestöbert. Ein anderer SQL Prozess blockiert mein Update und zwar genau der Prozess, der mir mitunter die Daten für das Update hergibt. Das ist verrückt - ich kann das Update nicht ausführen, weil die Datenquelle fürs Update das Update blockiert. Naja, immerhin weiß ich jetzt worans liegt und werde wohl mit ein bisschen tüfteln das Problem beheben können. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
flashpixx Geschrieben 21. Oktober 2008 Teilen Geschrieben 21. Oktober 2008 Evtl kommen sich 2 Transaktionen in die Quere. Wichtig wäre halt heraus zu bekommen ob das Problem nur dann besteht, wenn mehrere User gleichzeitig arbeiten oder auch bei exclusivem Zugriff. Patentlösung habe ich da leider auch nicht Phil Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
menatolin Geschrieben 22. Oktober 2008 Autor Teilen Geschrieben 22. Oktober 2008 Im Prinzip so wie du gesagt hast, das Problem entsteht durch den Zugriff von verschiedenen Usern. Ein bisschen dubios ist es aber schon: Docmd.runSQL nutzt die Verbindung des aktuellen Projekts zur Datenbank. Meine ADO-Connection, die das Update blockierte, war so aufgebaut: Dim adocnn as new adodb.connection adocnn.open Openstring In Openstring standen die gleichen Anmeldedaten, mit denen sich auch RunSQL verbindet. Dennoch wurde ich mit meinem Windows-Usernamen angemeldet. Das finde ich ein bisschen merkwürdig, aber nun gut. Lösung: adocnn.open Currentproject.Connection Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.