Verbindung zu einer Oracle DB aufbauen

  • Themenstarter Themenstarter Guest
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Hi

kann mir jmd. ein kleines Bsp geben wie ich eine Verbindung zu einer Oracle DB aufbauen kann und dann einige Datenbank befehle senden kann.

Also ich will eigentlich nur paar Tabellen erstellen und dann insert befehle ausführen.

Kann da jmd. ein Bsp posten pls. weil ich blick die ganzen anleitungen nicht.



L-ectron-X hat diesen Beitrag am 04.04.2008 um 13:37 Uhr editiert.
Titel des Themas angepasst.
 
Als erstes brauchst du mal die Oracle JDBC Treiber im classpath. Ohne denen geht gar nichts. Dann musst du den Treiber im Code laden (mittels Class.forName("[treiber_klasse]")), anschließend kannst du schon eine Verbindung aufbauen. Über die Verbindung kannst du Statements erstellen und absetzen. Handelt es sich um ein Select Statement bekommst du ein ResultSet zurück, über dieses du iterieren kannst. Wichtig dabei ist dass du die Objekte in umgekehrter Reihenfolge wieder schließen solltest.
Hier mal kurz ein Beispiel
Code:
//Treiber laden
Class.forName("oracle.jdbc.driver.OracleDriver");
//Connection erzeugen
Connection con = DriverManager.getConnection("jdbc:oracle:thin:@[host]:1521:[sid]", sUsr, sPwd);
//Statement erzeugen
Statement stmt = con.createStatement();
//Statement absetzen
stmt.executeUpdate("insert into mytable (name) values('Hugo'));
//transaktion commiten
con.commit();
//stmt schließen
stmt.close();
//connection schließen
con.close();

//Edit:
Normalerweise sollte das ganze dann mit ExceptionHandling so aussehen:
Code:
public void insert(String name) throws Exception{
  Connection con = null;
  Statement stmt = null;
  try{
    con = DriverManager.getConnection("[url]");
    stmt = con.createStatement();
    stmt.executeUpdate("insert.....");
    con.commit();
  }catch(Exception ex){
    if(con != null)
      con.rollBack();
    throw ex;
  }finally{
    if(stmt != null)
      stmt.close();
    if(con != null)
      con.close();
  }

}
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben