AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi FireDac ODBC Query bringt alte Daten
Thema durchsuchen
Ansicht
Themen-Optionen

FireDac ODBC Query bringt alte Daten

Ein Thema von fisipjm · begonnen am 24. Aug 2022 · letzter Beitrag vom 31. Aug 2022
 
fisipjm

Registriert seit: 28. Okt 2013
364 Beiträge
 
Delphi 12 Athens
 
#7

AW: FireDac ODBC Query bringt alte Daten

  Alt 25. Aug 2022, 10:06
Hasllo,
es wurde doch bereits alles gesagt.

Query1 benutzt Transaktion1
Query2 benutzt Transaktion2
Query3 ist deine externe Abfrage

Die beiden kommen sich nicht ins Gehege dank des Transaktionsmanagements von Firebird.
Wenn nichts weiter eingestellt ist, gilt "Read Committed"

Wenn Query1 z.B. 10.000 Selects macht (Lagerinspektion) und Query2 "zwischendurch" einen Änderung am Lager vernimmt, interessiert das Query1 nicht.
Jeder arbeitet praktisch mit einer Kopie der DB zum Zeitpunkt des Starts der jeweiligen Transaktion.

Bei Query3 startest du (ohne es zu Wollen/Wissen) immer eine neue Transaktion, die Änderungen der vorherigen Queries sind also sichtbar, sofern sie committed sind.

Lösung.
Du muss bei den Queries explizit ein StartTransaction/Commit machen.
Hi Hoika,

danke für die Erklärung. Wann endet ein Transaktion bei Firedac (Firebird?) Ich mache ja breits ein Open/Edit/Post/Close und bei der anderen Query ebenfalls ein Open/Close.

Ich wäre davon ausgegangen das mit einem Close alle offenen Transactions geschlossen werden. Beim nächsten Loop lauf mache ich ja wieder ein Open auf die Query, zwar mit den gleichen Parametern, aber eben wieder mit einem "frischen" Open. Wie sage ich der Transaction das sie sich die Daten jetzt bitte neu vom Server ziehen darf? Ein Commit wird mir verweigert mit dem hinweis das ich die Funktion CachedUpdates nicht aktiv hab, ergo wäre es nichts nötig?
  Mit Zitat antworten Zitat
 

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:15 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz