Einzelnen Beitrag anzeigen

Delphi.Narium

Registriert seit: 27. Nov 2017
2.490 Beiträge
 
Delphi 7 Professional
 
#3

AW: AnyDAC - FetchBlobs committed Transaktion nicht

  Alt 5. Mär 2018, 17:55
Kenne die Komponenten nicht, aber das beschrieben Verhalten erscheint mir unschlüssig.

Bitte überprüfe mal, ob nach dem Laden des Blobs der Datensatz eventuell automatisch (also ungewollt) in den Editiermodus geht und daher dafür bereits eine neue Transaktion geöffnet wird, deren Commit daher erst auf ein Post des Datensatzes folgt.

Schau bitte mal, was zu dem Zeitpunkt, in dem die unerwünschte und offenen Transakion vorhanden ist, in TADQuery.State steht.

Die Statuswerte lassen sich auch gut an 'nem TDBNavigator ablesen, wenn ihr den zufällig auch im Einsatz habt, dann schau mal, welche Buttons dort aktiv sind. Der Haken und das X sollten nicht aktiv sein, wenn doch, befindet sich der Datensatz im Editiermodus und die offnen Transaktion ist berechtigt vorhanden.

Desweiteren prüf' bitte mal, was zu diesem Zeitpunkt in TDBMemo.Modified steht, sollte false sein, wenn nicht, ist da die Ursache zu suchen.

Eine eher schräge Idee: Setze beim TDBMemo mal AutoDisplay auf false: Ändert sich dadurch das Transaktionsverhalten?

Auch dann wäre die Ursache für das unerwünschte Verhalten beim TDBMemo zu suchen.

(Das sind allerdings alles nur nicht verifizierte Vermutungen.)


hoika hat allerdings auch recht, beim Öffnen einer Tabelle oder eine Query wird für gewöhnlich keine Transaktion geöffnet.

AutoCommit hat nur dann eine Wirkung, wenn kein StartTransaction aufgerufen wird.
  Mit Zitat antworten Zitat