/***********************************************************************/ /* Quelltext: OracleJDBC.java */ /* Zweck: Einfaches Beispiel eines JDBC-Zugriffs */ /* auf ein Oracle Datenbanksystem */ /* Stand: 09.11.2006 */ /* */ /***********************************************************************/ import java.io.*; import java.sql.*; import oracle.jdbc.pool.*; public class OracleJDBC{ /*********************************************************************/ /* Aufbau der DB-Verbindung */ /* Parameter: % */ /* */ /* Rückgabewert: Connection */ /* Exception(s): SQLException */ /*********************************************************************/ public static Connection connect() throws SQLException{ String treiber; OracleDataSource ods = new OracleDataSource(); treiber = "oracle.jdbc.driver.OracleDriver"; Connection dbConnection = null; // Treiber laden try{ Class.forName(treiber).newInstance(); } catch (Exception e){ System.out.println("Fehler beim laden des Treibers: "+ e.getMessage()); } // Erstellung Datenbank-Verbindungsinstanz try { ods.setURL("jdbc:oracle:thin:UUU/PPP@SSS.nt.fh-koeln.de:9999:xe"); dbConnection = ods.getConnection(); } catch (SQLException e){ System.out.println("Fehler beim Verbindungsaufbau zur Datenbank!"); System.out.println(e.getMessage()); } return dbConnection; } /*********************************************************************/ /* */ /* Main */ /* */ /*********************************************************************/ public static void main(String args[])throws IOException{ // Datenbankverbindung erstellen mit Hilfe der "connect()"-Methode try { Connection con = connect(); // Vorbereitung der benötigten JDBC Objekte zur Kommunikation mit der DB Statement Stmt; ResultSet RS; String SQL; String landname; double ewz; int landnr; // Erezeugen eines Statements aus der DB-Verbindung Stmt = con.createStatement(); /*********************************************************************/ /* */ /* Eine SQL-SELECT Anfrage */ /* */ /*********************************************************************/ // Eine SQL Select Anweisung SQL = "SELECT * FROM Land01"; // SQL-Anweisung ausführen und Ergebnis in ein ResultSet schreiben RS = Stmt.executeQuery(SQL); // Das ResultSet Datensatzweise durchlaufen while(RS.next()){ landname = RS.getString("lname"); ewz = RS.getDouble("ewz"); landnr = RS.getInt("lid"); System.out.println("Landnr. : "+ landnr); System.out.println("Landname: "+ landname); System.out.println("Einwohnerzahl: "+ewz); System.out.println(); } /*********************************************************************/ /* */ /* Eine SQL-UPDATE Anweisung */ /* (DELETE & INSERT analog) */ /* */ /*********************************************************************/ SQL = "UPDATE Land01 SET ewz = 83.3 WHERE lname = 'Deutschland'"; int a = Stmt.executeUpdate(SQL); if (a==1){ System.out.println("Update erfolgreich!"); } else { System.out.println("Update fehlgeschlagen!"); } // SQL Exception abfangen } catch (SQLException e){ System.out.println(e.getMessage()); System.out.println("SQL Exception wurde geworfen!"); } } }