# Datenbankverbindung mit Oracle JDBC und Eclipse Plugin Quantum db



## elham (26. Jun 2011)

Hallo,
ich möchte von meiner Datenbank und einer bestimmten Tabelle einige Daten auslesen und anschließend in eine xml-Datei schreiben. Als erstes muss ich sagen, dass ich Quantum-Plugin unter Eclipse installiert habe und den Zugriff auf die Datenbank ermöglicht habe. Nachdem ich gegoogelt habe, wie man so eine Datenbankverbindung herstellen kann, habe ich sowas geschrieben:

```
public class MySQLConnection {
    private static MySQLConnection instance = null;
    private static Connection con = null;

    private MySQLConnection(){
        try {
            Class.forName("oracle.jdbc.OracleDriver");
            System.out.println("Oracle JDBC driver loaded ok.");
            con= DriverManager.getConnection( "jdbc:oracle:thin:testUser/testPassword@localhost:1521:testName");
        } catch (final ClassNotFoundException e) {
            e.printStackTrace();
            System.err.println("Exception: "+e.getMessage());
        } catch (final SQLException e) {
            System.err.println("Connect nicht moeglich");
            e.printStackTrace();
        }


    }
    public static MySQLConnection getInstance(){
        if(instance == null){
            instance= new MySQLConnection();

        }
        return instance;
    }
    public void getPartner(){
        if (con != null){
            Statement query;
            try {
                query= con.createStatement();
                final String sql= "SELECT VORNAME, NAME " + "FROM NR_STAMMDATEN ";
                final ResultSet result = query.executeQuery(sql);
                while(result.next()){
                    final String first_name = result.getString("VORNAME");
                    final String last_name = result.getString("NAME");
                    final String name = last_name + ", " + first_name;
                    System.out.println(name);
                }
            } catch (final SQLException e) {
                e.printStackTrace();
            }
        }
    }
}
```
und in der zweiten Klasse Test:

```
public class Test {
    public static void main (final String [] args){
        MySQLConnection.getInstance().getPartner();

    }
}
```

Mein Problem ist, dass ich nicht weiß, wie ich sowas testen kann. Spielt das Quantum-Plugin an dieser Stelle eine Rolle? Muss die Verbindung anders sein oder ist automatisch? Muss ich meine Klasse Test als "Run on Server" ausführen? (Es passiert gar nichts in der Console), Apache Server läuft bei mir local. Sorry, ich bin ganz neu zu dem Thema und alles ist irgenwie nicht klar. Kann Jemand mir helfen?
Danke und Gruß
Haytham


----------



## 2665685424 (27. Jun 2011)

eine über oracel hergestellte jdbc verbindung bekommt mysqlconnection als klassennamen? typischer guttenberg...

alle variablen final?
der apache ist kein servlet/jsp container


----------



## Michael... (27. Jun 2011)

elham hat gesagt.:


> Spielt das Quantum-Plugin an dieser Stelle eine Rolle?


Kenne das Plugin nicht. Dürfte aber auch keine Rolle spielen. Soweit ich weiss kann man damit Statements auf eine Datenbank absetzen - Hat ersteinmal nichts mit Java oder Deinem Programm zu tun.


elham hat gesagt.:


> Mein Problem ist, dass ich nicht weiß, wie ich sowas testen kann.


Was testen? Ob der Verbindungsaufbau klappt? Ob das Statement erfolgreich abgesetzt wird?
Eventuell auftretende Exceptions werden ja abgefangen und ausgeben.
Deine Klasse läuft als Applikation auf dem Client, also nichts mit "Run on Server" Wichtig ist das der Datenbank Server und die Datenbank laufen.

Bzgl. Syntax bin ich mir nicht sicher, aber die müsste eher so heißen:

```
con= DriverManager.getConnection( "jdbc:oracle:thin:@localhost:1521:testName", "testUser", "testPasswort");
```


----------

