Kurs:Wirtschaftsinformatik SS09 Datenbankmanagementsysteme/Teil 2/JDBC8
Erscheinungsbild
Aufgabe 5: JDBC
2) a) Aus welchem Grund werden Transaktionen verwendet? Was passiert, wenn die Transaktionen in JDBC nicht explizit gestartet und beendet werden? (4P)
public class Beispiel{
public static void main(String[] args) throws
SQLException,ClassNotFoundException
{
Connection con=null;
Statement stmt=null;
Class.forName("COM.ibm.db2.jdbc.app.DB2Driver");
String url="jdbc:db2:EDBMSVL";
con=DriverManager.getConnection(url,"User","Password");
stmt=con.createStatement();
try {
/* Begin of Transaction (BOT) */
con.setAutoCommit(false); Teillösung, (2P)
/* Die folgenden zwei Anweisungen sollen innerhalb einer
Transaktion ausgeführt werden. */
stmt.executeUpdate("INSERT INTO Tab1 VALUES (1,’Bsp1’)");
stmt.executeUpdate("INSERT INTO Tab2 VALUES (5,’Bsp2’)");
/* End of Transaction (EOT) */
con.commit(); Teillösung (1P)
con.setAutoCommit(true); Teillösung, optional
}
catch (SQLException se) {
/* Failure of Transaction (FOT) */
con.rollback(); Teillösung (1P)
System.out.println("Ein Fehler ist aufgetreten!");
}
stmt.close();
con.close();
}