Datenbankverbindung mit Oracle JDBC

haytham

Grünschnabel
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:
Code:
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:
Code:
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 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
 
Hi und willkommen im Forum.
Was MySQL angeht : dafür gibt es den speziellen MySQL-Connect/J ... das ist ein JDBC-Driver speziell für MySQL ... dann kannst du dir das mit ODBC sparen. Mit MySQL verbindest du dich dann schlussendlich so
Java:
DriverManager.getConnection("jdbc:mysql://HOST:3306/DB", "USER", "PASS")
 
Hi,
vielen Dank für deine Antwort. Ich würde gerne aber wissen, was an dieser Stelle mit dem Eclipse Plugin Quantum DB gemacht wird. Ist es an dieser Stelle nicht relevant? Wie ich verstanden habe, muss ich MySql-Connect installieren und mich damit mit der Datenbank verinden?
Viele Grüße
 
Erstemal : installieren musst du GARNICHTS. Ein JDBC-Driver ist ein einfaches Jar das du in dein Projekt mit aufnimmst in dem sich alle relevanten Codes befinden. Wenn du jetzt über diesen Treiber dich mit der DB verbindest was wird wohl mit allem drum herum passieren : genau ... es wird NUTZLOS ...
Was soll dein Plugin denn schon groß machen wenn du es nicht mal ansprichst ? Die gesamte Kommunikation läuft dann über den entsprechendne Treiber ab *es gibt für fast alle DB-System JDBC-Driver*. Oder wie hast du dir das sonst noch vorgestellt was denn eventuell passieren könnte ?
 
Hi,

das Quantum Plugin hat erstmal nichts mit deinem Testprogram zu tun. Es erlaubt eine bequeme Konfiguration der Datenbankverbindung und schicke Funktionen um mit der Datenbank zu interagieren innerhalb von Eclipse.

Der Apache hat auch erstmal nichts damit zu tun.

Ein Java Testprogram könnte dann ganz eigenständig mit einem passenden Treiber mit der Datenbank interagieren, so ähnlich wie in deinem Quellcode. Es muss dazu auch nicht auf einem Server laufen, "run as application" wäre passend, also eine Laufzeitumgebung, die auch ausserhalb von Eclipse recht einfach auszuführen ist.

Wenn beim Ausführen des Programmes nichts kommt, mach doch noch ein paar Debugausgaben dazwischen, auch in die if-Zweige die vermeintlich nicht durchlaufen werden.

Ansonsten poste doch mal die passenden Einträge aus der tnsnames.ora deiner Datenbank.

Hier stehen noch ein paar allgemeine Dinge: http://www.orafaq.com/wiki/JDBC
 

Neue Beiträge

Zurück