Ich verstehe das so: Deine Anwendung startet eine Transaction und macht das UPDATE. Das externe Tool macht danach ein SELECT und sieht die Änderung nicht. Was mir hier noch fehlt, ist das Transaction-Verhalten des Tools. Wird bei jedem SELECT eine neue Transaction aufgemacht (mit welchem Isolation-Level?) oder muss man das manuell regeln?
2. Ich habe auch schon versucht vor dem Starten der Transaktion
FSQLConnection.TxOptions.Isolation := xiDirtyRead; zu setzen.
Da wirkt sich aber nur auf das aus, was diese Connection zu sehen bekommt, nicht was andere zu sehen bekommen. Wenn das Tool die Änderungen sehen soll, muss es selbst die entsprechende Isolation einstellen. Vielleicht kann man den Isolationslevel ja bei dem Tool einstellen.
3. Ich habe auch schon versucht vor der
SQL Abfrage CommitRetaining; aufzurufen.
Auch das erfordert zumindest den Start einer neuen Transaction in dem Tool. Andernfalls bleibt das Ergebnis dasselbe - zumindest wenn kein Read-Dirty erfolgt.