AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

IB-Transaktionen

Ein Thema von HaJo · begonnen am 27. Feb 2005 · letzter Beitrag vom 28. Feb 2005
Antwort Antwort
Seite 4 von 5   « Erste     234 5      
Benutzerbild von stoxx
stoxx

Registriert seit: 13. Aug 2003
1.111 Beiträge
 
#31

Re: IB-Transaktionen

  Alt 27. Feb 2005, 20:46
wie heisst eigentlich das schlaue Buch ?

Dankeschön !
  Mit Zitat antworten Zitat
Benutzerbild von MagicAndre1981
MagicAndre1981

Registriert seit: 4. Jun 2004
Ort: Nordhausen
2.214 Beiträge
 
Delphi 7 Enterprise
 
#32

Re: IB-Transaktionen

  Alt 27. Feb 2005, 20:56
Ich glaube er meint das Buch "InterBase Datenbankentwicklung mit Delphi "von Andreas Kosch zum Thema IBX.

MfG
André
André
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#33

Re: IB-Transaktionen

  Alt 27. Feb 2005, 21:47
[quote="Albi"]
Zitat:
Über die TIBTransaction-Methode Commit wird ein sogenannter Hard-Commit ausgelöst, der die aktuelle Ergebnismenge der Select-Abfrage auf dem Interbase-Server verwirft. Ab diesem Zeitpunkt gib es also keine Datenmenge mehr, die IBX anzeigen kann.
Das da ist aber sehr irreführend. "Verwerfen" heißt für mich : alle Ergebnisse wegschmeißen und in diesem Falle nichts speichern und eben von vorne anfangen. Genau das macht aber ein Rollback !! Ein Commit speichert alles endgültig. Danach geht dann kein Rollback mehr. Dies bedeutet aber, daß die Daten zur neuerlichen Bearbeitung neu gelesen werden müssen, um sie anzuzeigen. Am Commit kommt man aber auch so oder so nicht drum rum.

Ein CommitRetaining verwende ich zumindest nicht. Das ist irgendwie nichts halbes und nichts ganzes.
Gruß
Hansa
  Mit Zitat antworten Zitat
Quake

Registriert seit: 25. Aug 2003
222 Beiträge
 
Delphi 7 Enterprise
 
#34

Re: IB-Transaktionen

  Alt 27. Feb 2005, 21:51
Da steht aber geschrieben verwirft die Abfragen (SELECT) und nicht die Änderungen (Update). Wenn du also eine Abfrage startest (SELECT) und dann Commitest hast du danach keine Ergebnismenge mehr.
Gegen ein CommitRetain spricht doch nur der Garbage Collector.
  Mit Zitat antworten Zitat
Benutzerbild von MagicAndre1981
MagicAndre1981

Registriert seit: 4. Jun 2004
Ort: Nordhausen
2.214 Beiträge
 
Delphi 7 Enterprise
 
#35

Re: IB-Transaktionen

  Alt 27. Feb 2005, 21:56
wegen der MGA muss immer eine Transaktion ausgeführt werden, wenn man Daten lesen und anzeigen will.
Wenn du ein COMMIT machst siehst du in einem DBEdit nichts mehr.

André
André
  Mit Zitat antworten Zitat
Quake

Registriert seit: 25. Aug 2003
222 Beiträge
 
Delphi 7 Enterprise
 
#36

Re: IB-Transaktionen

  Alt 27. Feb 2005, 21:57
@HaJO: Ruf mal den Transaktions-Editor auf. Evtl steht deine Transaktion auf Schnappschuss.

@André: Das meinte ich auch so.
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#37

Re: IB-Transaktionen

  Alt 27. Feb 2005, 22:06
Ich meine doch mit irreführend das Wort "verwerfen". Mit einem Commit wird nichts verworfen. Es wird dauerhaft gespeichert und fertig. Entweder es soll was gespeichert werden oder eben nicht. Ich hätte jedenfalls keine Lust, nach einem Stromausfall 100 Transaktionen zu sehen mit der Frage "Soll Transaktion x jetzt committed werden oder doch nicht ? J/N".
Gruß
Hansa
  Mit Zitat antworten Zitat
HaJo

Registriert seit: 28. Apr 2004
Ort: Würselen
140 Beiträge
 
Delphi 8 Enterprise
 
#38

Re: IB-Transaktionen

  Alt 27. Feb 2005, 22:21
Danke nochmals an Euch alle. Aber scheinbar ist es ein Fehler innerhalb der Interbase-Komponenten die in Delphi7 verwendet werden.

Dort steht in der Hilfe zur IBTransaction folgendes:

----------
Die Methode CommitRetaining schließt die aktuelle Transaktion unter Beibehaltung des Transaktionskontextes.

Delphi-Syntax:

procedure CommitRetaining;

C++ Syntax:

void __fastcall CommitRetaining(void)

Beschreibung

Mit CommitRetaining können Sie alle in der aktuellen Transaktion aktualisierten, eingefügten und gelöschten Daten in die Datenbank eintragen und den Transaktionskontext erhalten. Die aktuelle Transaktion ist die zuletzt mit der Methode StartTransaction gestartete Transaktion.

Hinweis: Prüfen Sie erst den Status der Eigenschaft InTransaction, bevor Sie CommitRetaining aufrufen. Wenn in der Anwendung keine aktuelle Transaktion vorhanden ist, wird eine Exception ausgelöst.
-----------

wäre ja zu schön gewesen wenn es funktioniert hätte.
Mit einem richtigen Commit geht alles.

Lieben Gruß
Jochen
Hans-Joachim Brosius
  Mit Zitat antworten Zitat
Albi

Registriert seit: 4. Mai 2003
Ort: Berlin
458 Beiträge
 
Delphi 7 Professional
 
#39

Re: IB-Transaktionen

  Alt 28. Feb 2005, 09:11
Hallo HaJo,

wo ist da der Fehler, es stimmt doch was da geschrieben ist. Über ein SoftCommit können die Daten in die DB geschrieben werden und die Trans wird geschlossen und von dieser eine neue Instanz geöffnet und die Datenmenge der 1ten Trans wird erhalten (alte Version der Datenmenge).
Gruß

Albi
  Mit Zitat antworten Zitat
HaJo

Registriert seit: 28. Apr 2004
Ort: Würselen
140 Beiträge
 
Delphi 8 Enterprise
 
#40

Re: IB-Transaktionen

  Alt 28. Feb 2005, 15:20
Hallo Micha,

ist alles gut und schön was da steht. Die Daten werden ja in die DB geschrieben. Andere Clienets sehen diese Daten dann auch.

Aber derjenige Client der geschrieben hat wird niemals mehr aktuelle Daten sehen, die ein anderer Client in die DB geschrieben hat. Nicht einmal dann, wenn die entsprechende Tabelle oder der Query explizit geschlossen und wieder geöffnet wird. Es bleiben dann für diesen Client "nur" seine eigenen Daten sichtbar.
Das das korrekt ist, kann ich mir nicht vorstellen!

Lieben Gruß
Jochen
Hans-Joachim Brosius
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 4 von 5   « Erste     234 5      


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 21:02 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz