Hallo DPler,
ich hab mal wieder ein Mega-Problem an dem ich bereits einige Tage herumrätsele.
Ich verwende zwei von mir geschriebene Programme, die miteinander Daten über den
MSDE SQL- Server Daten austauschen. Der Ablauf ist so, dass das eine Programm, nennen wir es DatMan, aktuelle Zustände von Maschinen zyklisch in eine Tabelle stellt. Das andere Programm, nennen wir es DatWeb, schaut nun auch immer mal wieder in diese Tabelle. Sofern neue Datensätze (markiert über ein INT Feld) existieren, werden diese Daten als
XML verschickt. Danach markiert DatWeb die Datensätze als "versendet". Ein weiterer Timer in DatWeb räumt alle verschickten Datensätze auf (Delete). Soweit der Ablauf.
Nun kommt es in unregelmäßigen Abständen, teilweise tageweise, vor, dass DatMan die beliebte Meldung:
"Die zum Aktualisieren angegebene Zeile wurde nicht gefunden...." hervorbringt. Diese Meldung wird sooft erzeugt, das wohl Windows den DatMan ohne jegliche Meldung beendet.
Ich habe nach dieser Meldung auch schon gegoogelt - viel gelesen - nix verstanden. Die Meldung wird so wie es ausschaut von
MDAC erzeugt und hat wohl was mit den Cursorn zu tun. Daraufhin habe ich alle TADOQuery und TADOConnections, und das sind sehr viele, auf folgende Eigenschaft geändert:
CursorLocation: clUseServer
LockType: ltOptimistic
umgestellt.
Daraufhin hat sich das Problem verschlimmert, aber es kommt nun die Meldung: "Fehler bei der Überprüfung auf vollständige Parallelität. Die Zeile wurde ausserhalb des Cursors geändert".
Auch diese Meldung wird bis zum Absturz wiederholt.
Jetzt bin ich auf der Suche
1. nach einer Erklärung?
2. einer Möglichkeit, wie ich herausbekomme, welche
Query diese Meldung erzeugt?
3. was denn eigentlich für die Queries und Connections die optimale Einstellung der Eigenschaften überhaupt ist?
Ich hoffe auf Hilfe
Gruß Frank