AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Firebird: DDL und DML in einer Transaktion
Thema durchsuchen
Ansicht
Themen-Optionen

Firebird: DDL und DML in einer Transaktion

Ein Thema von hoika · begonnen am 21. Jul 2010 · letzter Beitrag vom 25. Jul 2010
Antwort Antwort
Seite 2 von 2     12   
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#11

AW: Firebird: DDL und DML in einer Transaktion

  Alt 23. Jul 2010, 09:32
Das gleiche Problem besteht aber bei einer neuen Tabelle. Werden in der alten Tabelle Änderungen gemacht, nachdem der Inhalt in die neue Tabelle übertragen wurde fehlen diese anschlissend
Markus Kinzler
  Mit Zitat antworten Zitat
idefix2

Registriert seit: 17. Mär 2010
Ort: Wien
1.027 Beiträge
 
RAD-Studio 2009 Pro
 
#12

AW: Firebird: DDL und DML in einer Transaktion

  Alt 23. Jul 2010, 09:48
hm, da hast Du Recht. Scheint also wirklich nicht zu gehen.
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#13

AW: Firebird: DDL und DML in einer Transaktion

  Alt 23. Jul 2010, 10:03
Hallo,

jepp, so ist es.
Finde ich zwar doof, das es so ist, aber wenn einer der Core-Entwickler sagt "per Design",
kann man nix machen

*Quellcode runterlad und ändern tu* ...


Heiko
Heiko
  Mit Zitat antworten Zitat
Benutzerbild von ULIK
ULIK
Online

Registriert seit: 25. Sep 2006
Ort: Regensburg
416 Beiträge
 
Delphi 11 Alexandria
 
#14

AW: Firebird: DDL und DML in einer Transaktion

  Alt 23. Jul 2010, 14:05
Ganz dumme Frage: wozu brauchst Du das überhaupt? Wenn ein Programm die Definition der DB abändert, dann hat in diesem Moment kein anderes Programm gegen die DB zu laufen. Punkt. Alles andere birgt nur das Risiko von korrupten Daten.
Wenn's so kritisch ist, daß andere Programme zugreifen müssen, dann muß man sich andere Lösungen überlegen (umschalten auf eine Standby mit Protokollierung Änderungen und nach Rüchschalten Rücksynchronisation der geschriebenen Datenbanken).


Grüße,
Uli
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#15

AW: Firebird: DDL und DML in einer Transaktion

  Alt 23. Jul 2010, 14:11
Hallo,

was hat das mit anderen Programmen zu tun ?
Delphi-Quellcode:
Alter Table Table1 Add XXX Not Null

i:= i/0;

Update Table1
Das i:= i/0; ist etwas überspitzt.

Table1 ist dann in einem undefinierten Zustand.

Ändere ich Constraints auf Not Null führt ein nachfolgendes Backup -> Restore
wie bekannt zu einem Restore-Fehler (Not Null und trotzdem Null-Werte drin).


Heiko
Heiko
  Mit Zitat antworten Zitat
Benutzerbild von ULIK
ULIK
Online

Registriert seit: 25. Sep 2006
Ort: Regensburg
416 Beiträge
 
Delphi 11 Alexandria
 
#16

AW: Firebird: DDL und DML in einer Transaktion

  Alt 23. Jul 2010, 14:55
Ach so, jetzt versteh ich dein Problem. Aber ist das wirklich ein Problem? Du führst mit DDL Statements ein DB Update durch. Dieses ist nun durchgelaufen. Nun tritt eine Exception auf bevor Du die Not Null Spalte füllen kannst. Dann sollte dein Exceptionhandler das doch mitkriegen und entsprechend drauf reagieren können?
Bzw. kannst Du ja am Schluß des gesamten Updates noch einmal einen kurzen Check machen, ob alles gefüllt ist. Wenn nicht, Fehler und Reparatur.

Oder überseh ich hier etwas?


Grüße,
Uli
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#17

AW: Firebird: DDL und DML in einer Transaktion

  Alt 25. Jul 2010, 06:08
Hallo,

stürzt der Rechner ab nach dem Add Field,
muss das Programm beim nächsten Mal wissen, aha, muss ich noch was machen.

Korrekt.


Heiko
Heiko
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 14:45 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