# Datenbankanbindung ohne ODBC JDBC Brücke



## cluening (1. Mai 2006)

Hallo zusammen,

ich weiß das es diesen Thread schon irgendwo hier 
in diesem Forum gibt aber ich kann ihn nirgends mehr wiederfinden.

Ich möchte eine Datenbank direkt im Verzeichnis ansprechen ohne eine
ODBC JDBC Brücke einzurichten. Wie funktioniert das?

Das ganze ist ca. 1 - 2 Zeilen Code.

Links würden mir helfen, Quellcode wäre natürlich noch besser.

Gruß
cluening


----------



## bronks (2. Mai 2006)

cluening hat gesagt.:
			
		

> ... Ich möchte eine Datenbank direkt im Verzeichnis ansprechen ohne eine
> ODBC JDBC Brücke einzurichten. Wie funktioniert das? ...


Ich nehme an, daß Du Dir nur das einrichten einer OdbcDsn sparen willst, denn ohne JDBC gibt es keinen Datenbankzugriff. Wenn Du eine Datenbank verwenden willst, für welche es keinen JdbcTreiber gibt, dann mußt Du auf jeden Fall den OdbcTreiber installiert haben. 

Um etwas konkretes sagen zu können müßte man wissen, um welche Datenbank es geht ...?


----------



## cluening (2. Mai 2006)

Richtig erkannt!

Ich möchte mir auf den ganzen Rechnern (es wird mehrere User geben) ersparen
die JDBC-ODBC Brücke über Systemsteuerung - Verwaltung - Datenquellen usw. ersparen.

Es handelt sich bei der erstellten Datenbank um eine Access Datenbank.

Gruß
cluening


----------



## cluening (2. Mai 2006)

Habe es wieder gefunden:


```
getConnection("jdbc:odbc:DRIVER={Microsoft Access Driver (*.mdb)};DBQ=C:/pfad/zu/meiner/accesdatei.mdb;");
```

Leider bekomme ich jetzt eine SQL Exception: No suitable Driver


----------



## bronks (2. Mai 2006)

cluening hat gesagt.:
			
		

> ... Leider bekomme ich jetzt eine SQL Exception: No suitable Driver


Das wird wohl daran liegen, daß der OdbcTreiber nicht geladen ist.

Folgender Code funktioniert:


```
try {
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
            String filename = "C:/EigeneDateien... ... mdb";
            String database = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=" + filename.trim();
            Connection con = DriverManager.getConnection(database);
            
            Statement st = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
            ResultSet rs = st.executeQuery("select * from tabelle;");
            
            rs.first();
            
            do{
                System.out.println(rs.getString(3));
            }while(rs.next());
            

        } catch (Exception e) {
            e.printStackTrace();
        }
```


----------



## cluening (2. Mai 2006)

Du hast recht !

Danke vielmals.

Gruß
cluening


----------

