![]() |
Datenbank: Oracle • Zugriff über: ADO
Query SQL Transaktionen
Hallo alle zusammen
Ich hatte in der Vergangenheit ein Programm gebastelt, das über eine Datenbank Werte anzeigt. Es blieben jedoch immer offene Transaktionen die ich nicht mit COMMIT abgeschlossen wurden. Da ich mich gerade erst in dieses Thema Transaktionen COMMIT und Rollback befasst habe, habe ich schnell mal ein Testprogramm geschrieben. Jetzt weis ich nur nicht, ob das oben genannte Problem damit gelöst wäre? :oops:
Delphi-Quellcode:
...
try if not ADOConnect.Connected then ADO.Open; ADOConnect.BeginTrans; AdoQuery.Active := False; AdoQuery.SQL.Text:='SELECT POS FROM TABLE WHERE POS Like ('''+'Position38%'+''')'; AdoQuery.Active := True; AdoQuery.First; ADOConnect.CommitTrans; except ADOConnect.RollbackTrans; end; ... Ist der Code so richtig ? Könnt ihr mir weiterhelfen ? :zwinker: Liebe Grüße Starworld1000 |
DP-Maintenance
Dieses Thema wurde von "mkinzler" von "VCL / WinForms / Controls" nach "Datenbanken" verschoben.
Ist eine Datenbankfrage |
Re: Query SQL Transaktionen
Um welches DBMS handelt es sich den? Ergänze am Besten im 1. Beitrag.
Für Selektionen benötigt man nicht unbedingt Transaktionen |
Re: Query SQL Transaktionen
Danke für die schnelle Antwort
Bei der Datenbank handelt es sich um eine Oracle und die Table auf die ich zugreife ist auf der Datenbank verknüpft auf einen Unix Server. Zum Grund nannte man mir, wäre die immer größer werdenden Rollbacksegmenten :gruebel: Liebe Grüße starworld1000 :mrgreen: |
Re: Query SQL Transaktionen
Da ein Selekt nichts an der Datenbank ändert, dürfte er auch nicht den Transkationslog vergrößern
|
Re: Query SQL Transaktionen
:?:
|
Re: Query SQL Transaktionen
Danke für die Antwort
Aber Grundsätzlich würde der Code funktionieren ? Ich frage mich jetzt nur was es sonst für einen Grund haben könnte, das ich den COMMIT reinsetzen muss ? :wall: Beste Grüße Starworld1000 :stupid: |
Re: Query SQL Transaktionen
Besteht vielleicht eine Automatik in den Komponenten?
|
Re: Query SQL Transaktionen
Ja so ist es, da alles regelmäßig Aktualisiert werden muss
:mrgreen: |
Re: Query SQL Transaktionen
Ich meinte eine automatische Transaktionssteuerung
|
Re: Query SQL Transaktionen
Ja ist vorhanden, weil in einer Email die ich bekommen habe, das Problem
angesprochen wurde, das der Rollback-Tablespace schnell voll läuft. Was wäre deine vermutung ? :?: Liebe Grüße :P |
Re: Query SQL Transaktionen
Möglich schon, wobei es bei reinen Abfragen eigentlich nichts zum zurücknehmen gibt.
|
Re: Query SQL Transaktionen
Ich habe ein größeres Programm das mehrere Abfragen besitzt.
Die Aktualisierung findet jede Sekunde statt. Dieses Progrann hat vor einigen Tagen zum Absturz der Datenbank geführt, und durch diese Änderung, sollte dem vorgebeugt werden. Da ich bislang noch nicht mit COMMIT und ROLLBACK gearbeitet habe, ist dieser Code mein erster Entwurf :oops: Könnte man den so in alle anderen Programme übernehmen ? :mrgreen: Liebe Grüße Starworld1000 :angel: |
Re: Query SQL Transaktionen
Das Programm führt aber auch Änderungen an den Daten durch?
Der Code ansich sollte stimmen |
Re: Query SQL Transaktionen
Nein es zeigt nur die Daten an.
Bei einer der Abfragen im Programm sollte ich ein Commit einbauen
SQL-Code:
:mrgreen:
Select "Auslagerbahn","POS" FROM "Firma"."Table"
where ("Auslagerbahn" like '3-31884-%') Group by "Auslagerbahn","POS" Order by "Firma"."Table"."Auslagerbahn" Desc Liebe Grüße |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:09 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