G
Guest
Gast
Hallo,
ich lese XML-Files ein und schreibe diese in meine MySQL Datenbank.
Für jedes XML-File schreibe ich in zwei Tabellen.
Es kann sein, dass ein XML-File sonderzeichen etc enthält, sodass bei der einen Tabelle ein XML-Fehler auftritt.
Leider schreibt er trotzdem die anderen Werte in die zweite Tabelle.
Ich habe bereits AutoCommit(false) gesetzt.
Wie kann ich das am besten zu realisieren, dass er erst die beiden Insert Statements macht und wenn beide erfolgreich waren ein commit ansonsten ein Roolback.
Ich habe das wie folgt aufgebaut.
Wer kann mir da einen Tip geben? Oder Quelltext, wie ich das realisiere, dass er nur die Daten dauerhaft Speichert, wenn beide Abfragen erfolgreich sind?
Gruß
ich lese XML-Files ein und schreibe diese in meine MySQL Datenbank.
Für jedes XML-File schreibe ich in zwei Tabellen.
Es kann sein, dass ein XML-File sonderzeichen etc enthält, sodass bei der einen Tabelle ein XML-Fehler auftritt.
Leider schreibt er trotzdem die anderen Werte in die zweite Tabelle.
Ich habe bereits AutoCommit(false) gesetzt.
Wie kann ich das am besten zu realisieren, dass er erst die beiden Insert Statements macht und wenn beide erfolgreich waren ein commit ansonsten ein Roolback.
Ich habe das wie folgt aufgebaut.
Code:
String sql="Insert into xmlfile (filename,text) values('" +file.getName() + "','" + inhalt +"')";
this.adapter.schreibeDatansaetze(sql);// Führt execute aus.
String sql2="Insert into xmlinformation(filename,filepath,md5) values ('"+ file.getName() +"','" + pfad+"','"+ md5+"')";
this.adapter.schreibeDatansaetze(sql2);//Führt execute aus.
this.adapter.speichereDatensaetze();//Führt Commit aus.
Wer kann mir da einen Tip geben? Oder Quelltext, wie ich das realisiere, dass er nur die Daten dauerhaft Speichert, wenn beide Abfragen erfolgreich sind?
Gruß