Datenverlust bei DB-Unterbrechung?

Status
Nicht offen für weitere Antworten.

gondor

Bekanntes Mitglied
hallo liebe java-gemeinde!

ich habe mir folgende frage gestellt:

was passiert eigentlich, wenn mitten in meiner LOAD-query (lese aus einem file direkt in die tabelle) die connection unterbrochen wird? wie kann ich sicherstellen, dass alle daten auch in die db eingetragen wurden und die struktur erhalten beibt? bei einem connection bzw. timeout soll er den versuch des einlesen verwerfen und den vorzustand einnehmen...

geht das über transaktionen? wie ist das zu realisieren?

danke fü tipps, links und hilfestellungen ;)
 

Bleiglanz

Gesperrter Benutzer
schau in die Doku zu deiner Datenbank, für LOAD oder ähnliche Befehle ist der Transaktionsmechanismus oft ausgeschaltet :)

Welche DB?

Bei DB2 schreibt LOAD ohne sich um Constraints zu kümmern, ohne Protokoll und so weiter, wenn du da

LOAD FROM datei INSERT INTO tab FOR EXCEPTION ausnahmetabelle

schreibst, dann werden dabei keine Transaktionen o.ä. verwaltet, denn dieses LOAD benutzt überhaupt kein SQL!
 

gondor

Bekanntes Mitglied
ok, hab wohl die daten vergessen:

die DB ist eine mySQL: 4.0.20a

also, steuert mysql die transaktionen und nicht java?

und ist das von jedem sql-befehlt abhängig?

es kann ja auch beim ändern eines values (in die DB) eine unterbrechnung geben, wobei
dann ja die query nicht LOAD... sondern Select * from ... set value = new_value... lautet.

danke für die hilfe...
 

Bleiglanz

Gesperrter Benutzer
hast du überhaut transaktionen aktiviert (dbinno oder wie das heisst)?

>>also, steuert mysql die transaktionen und nicht java?

nein, das machst du mit java; bei DB2 war der LOAD Befehl nur eine Ausnahme

>>und ist das von jedem sql-befehlt abhängig?

ja/nein/teilweise: würde mich wundern, wenn man drop database oder ALTER TABLE mit rollback wieder aufheben könnte, müsste man aber mal versuchen...

kann nur sagen RTFM, würde jetzt mal dagegen wetten, dass LOAD mit Rollback zurückgenommen werden kann
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen


Oben