# Brauche dringend Hilfe Java-Access Connection



## Fr4xxi (14. Apr 2015)

Guten Tag, 

Ich bin neu hier und bräuchte dringend Hilfe bei folgendem Code:


```
import java.sql.*;
public class Test {
    public static void main(String[] args) {
        try {


            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");


            Connection conn = DriverManager.getConnection( "jdbc:odbc:Driver={Microsoft Access Driver (*.accdb)};DBQ=C:/dokumente/test.accdb","","" );


            Statement st = conn.createStatement();


            String sql = "Select * from Card";


            ResultSet rs = st.executeQuery(sql);


            while(rs.next()){
                System.out.println("\n" + rs.getString("CardID") + "\t" + rs.getString(2) + "\t" + rs.getString(3));




            }
        }catch (Exception e){


            System.out.print(e.getMessage());


        }
    }
}
```

Es schmeißt mir immer folgende Meldung:

sun.jdbc.odbc.JdbcOdbcDriver
Process finished with exit code 0

Und gibt dann natürlich nichts aus. 

Das ist mein erster Versuch mit einer DB Connection und ich brauche dies dringend für ein Schulprojekt. 

Danke schon mal im Vorraus für alle Lösungen.


----------



## Schlappmopp (14. Apr 2015)

Hallo Fr4axxi,

Ich arbeite auch mit der jdbcdbc-bridge. Ich benutze dazu jedoch eine odbc-Datenquelle. DIese musst du unter Systemsteuerung-Verwaltung-odbc-Datenquellen einstellen. Am besten benutzt du die 32-bit Datenquellen. Gehe auf den Reiter "Benutzer-Dsn" und drücke auf Hinzufügen. Es öffnet sich ein neues Fenster, indem du den Treiber aussuchen musst. Also Microsoft Access Driver(Hier muss die richtige datei-Endung stehen.). Hast du dies getan musst du einen Datenquellnamen eingeben. DIeser ist wichtig, da du mit diesem Namen über Java auf die Datenbank zugreifst. Dann drücke noch auf "Auswählen" und suche deine Acces-DB. Nun hast du eine Datenquelle. 

Du greifst folgendermaßen über Java auf deine Datenbank zu:


```
Connection con = DriverManager.getConnection("jdbc:odbc:DeinDatenquellname");
Statement st = con.createStatement();
String sql = "Deine SQL-Abfrage";
ResultSet rs = st.executeQuery(sql);
```

Wenn etwas nicht klappt, bin ich dir gerne weiter behilflich!


----------



## kaoZ (14. Apr 2015)

Soweit ich weiß initialisiert der Drivermanager das hier 



> ```
> Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
> ```


mittlerweile auch von selbst, so das du dir diese Zeile schenken kannst.


----------



## Ruzmanz (15. Apr 2015)

Wenn du Fehlermeldungen über die Konsole ausgeben möchtest, dann nutze bitte *ex.printStacktrace(); *dort bekommst du ein paar weitere [nützlichere] Informationen.

In deinem Fall würde ich darauf tippen, dass du Java 8 nutzt und dort die JDBC-ODBC-Bridge rausgeworfen wurde. Entweder du installierst Java 7 oder nutzt die Bibliothek "Jackcess". Der Code sieht für mich auf den ersten Blick ganz OK aus.


----------

