# Finde den Fehler: Daten aus einer Access-Datenbank lesen



## ZiTH (2. Jun 2015)

Moin,

vielleicht kann mir hier jemand weiterhelfen.

Ich versuche aus einer Datenbank mir über Java die Spalten "VName" und "NName" aus der Tabelle "Agents" ausgeben zu lassen. Wenn ich den Code ausführe wird mir aber leider nichts angezeigt. Leider kann ich keinen Fehler finden 

Vielen Dank schon mal!

Grüße 

ZiTH



```
import java.sql.*;


public class DBAccess {
  
    Connection con;
    Statement st;
    ResultSet rs;
    
    public DBAccess(){
        
        connect();
        
    }
    
    public void connect() {
        
        try{
            
            String driver = "sun.jdbc.odbc.JdbcOdbcDriver";
            Class.forName(driver);
            
            String db = "jdbc:odbc: Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=C:/DB/db1.accdb";
            
            con = DriverManager.getConnection(db);
            st = con.createStatement();
            String sql = "select * from Agents";
            rs = st.executeQuery(sql);
            
            
            while(rs.next())
            {
                String VName = rs.getString("VName");
                String NName = rs.getString("NName");
                
                System.out.println(VName + " "+NName);
            }
        
            
        
        }catch(Exception ex) {
            
        }
        
    }
    
        
    public static void main(String[] args) {
  
        new DBAccess();

  }
}
```


----------



## Dompteur (2. Jun 2015)

Ein leerer catch Block ist keine gute Idee. 
Schreib wenigstens ein 

```
ex.printStackTrace();
```
 rein.
Dann solltest du auch sehen, was schief läuft.


----------



## ZiTH (2. Jun 2015)

Ah danke! Das ist doch schon mal was 

Diesen Fehler bekomme ich nun.


```
java.sql.SQLException: [Microsoft][ODBC Driver Manager] Der Datenquellenname wurde nicht gefunden, und es wurde kein Standardtreiber angegeben
```


----------



## stg (2. Jun 2015)

Schau mal hier rein:
http://www.java-forum.org/datenbankprogrammierung/121755-access-datenbank-java-win7-64bit.html


----------



## strußi (2. Jun 2015)

Lass dir doch mit system.out. den inhalt deiner Strings ausgeben, dann siehst du schon mal, wo du werte hast, und wo nicht

hast du die derby.jar in dein projekt mit eingebunden?


----------



## fehlerfinder (3. Jun 2015)

strußi hat gesagt.:


> Lass dir doch mit system.out. den inhalt deiner Strings ausgeben, dann siehst du schon mal, wo du werte hast, und wo nicht
> 
> hast du die derby.jar in dein projekt mit eingebunden?



Nachdem deine Werbung offenbar schon wieder entfernt wurde - Lob an die Moderatoren(!) - welchen Vorteil bringt das Einbinden einer derby.jar für den Zugriff auf eine Access-Datei?


----------



## strußi (3. Jun 2015)

ich hatte damit gute erfahrung, und es war einfach zu realisieren. hab da zwei klassen implementiert.

```
import java.sql.*;
import javax.swing.JOptionPane;

public class DatenbankAnbindung {
    Connection conn =null;

    public static Connection ConnectDB(){
        try{
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
            Connection conn = DriverManager.getConnection("jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};"
                    + " DBQ=Konten.mdb");
            return conn;
        }catch(Exception e){
            JOptionPane.showMessageDialog(null, e);
            return null;
        }
    }
}
```

das ist alles was ich für meine DB anbindung mit derby gebraucht habe


----------



## fehlerfinder (3. Jun 2015)

strußi hat gesagt.:


> das ist alles was ich für meine DB anbindung mit derby gebraucht habe



Aber es geht hier doch um MS-Access, nicht um Apache Derby...


----------



## strußi (3. Jun 2015)

strußi hat gesagt.:


> ```
> Connection conn =
> DriverManager.getConnection(" jdbc:odbc: Driver= {Microsoft Access Driver (*.mdb)};"
> ```


----------



## fehlerfinder (3. Jun 2015)

strußi hat gesagt.:


> strußi hat gesagt.:
> 
> 
> > ```
> ...


----------



## Flown (3. Jun 2015)

Welche Werbung?


----------



## strußi (3. Jun 2015)

@fehlerfinder das funktioniert mit der derby.jar


wenn man nicht angemeldt ist, kommt werbung für java-videokurse


----------



## stg (3. Jun 2015)

Das ist doch schlicht Blödsinn. Verwendet wird doch ganz offensichtlich die native JDBC-ODBC-Bridge, da benötigt man überhaupt keinen weiteren JDBC Treiber. Schon gar nicht den für derby.


----------

