# Access mit Java OHNE ODBC



## Guest (27. Jun 2006)

hi, 

es geht um folgendes:
Ein Java-Programm soll auf eine MS Access datenbank zugreifen. Nun will ich NICHT(!!!!!!!!), dass der User die ODBC-Verbindung Über >Start>Einstellungen>Verwaltung>ODBC usw. selbst erstellt

ich habe hier mit der suchfunktion gesucht und das gefunden



import java.sql.*;

public class odbc1 
{
	public static void main ( String [] args  )
	{

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

                String filename = "C:/eclipse32_WS/meinAccess.mdb";
                String database = "jdbcdbcriver={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 meineTabelle;");

............
.............
....... usw.        


ich bekomme diese Meldung:
java.sql.SQLException: [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified
	at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6958)
	at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7115)
	at sun.jdbc.odbc.JdbcOdbc.SQLDriverConnect(JdbcOdbc.java:3074)
	at sun.jdbc.odbc.JdbcOdbcConnection.initialize(JdbcOdbcConnection.java:323)
	at sun.jdbc.odbc.JdbcOdbcDriver.connect(JdbcOdbcDriver.java:174)
	at java.sql.DriverManager.getConnection(DriverManager.java:525)
	at java.sql.DriverManager.getConnection(DriverManager.java:171)
	at odbc1.main(odbc1.java:27)


Woran liegt es????

vielen dank für jede Antwort


----------



## WPNCC1701D (27. Jun 2006)

Hallo, 

was für ein Betriebssystem verwendest du?

Der Accesstreiber ist IMHO erst ab W2K im System drin.

Wenn du in deinem Rechner versuchst eine neue ODBC-Datenquelle zu erstellen, sind dann die Accesstreiber vorhanden? 

Gruß 
Wolfgang


----------



## Guest (28. Jun 2006)

ich habe windows 2000


----------



## DP (28. Jun 2006)

ohne odbc kannste das wohl knicken. du kannst aber in deiner installationsroutine oder mit deinem tool den odbc-eintrag machen, ohne dass der user davon was mitbekommt.


----------



## Dukel (28. Jun 2006)

Dann würde iuch (wieder mal) eingebundene Datenbanken wie Derby, Hsqldb, H2, H40,... empfehlen. Der user muss nichts installieren und man hat ne gute DB.


----------



## Gast (6. Nov 2006)

Doch das geht, 
bei mir siehts so aus :

String url = "jdbcdbcriver={Microsoft Access-Treiber (*.mdb)};DBQ=C:/JAVA/Test.mdb";

liegt wohl an der Schreibweise, schau mal nach zuviel Leerzeichen, lass das trim() mal weg...

bei mir gehts jedenfalls


----------



## thE_29 (6. Nov 2006)

Jop, hab auch ein Programm was direkt drauf zugreift und es läuft auch wunderbar unter XP und 2K!


----------



## vogella (7. Nov 2006)

Hallo,

sieht so aus, als ob Dir ein Leerzeichen nach Driver fehlt. Das hat jedenfalls bei mir ein Problem verursacht. 

Anstatt:

String database = "jdbcdbcriver={Microsoft Access Driver(*.mdb)};DBQ=" + filename.trim(); 

String database = "jdbcdbcriver={Microsoft Access Driver (*.mdb)};DBQ=" + filename.trim();

Viele Grüße, Lars


----------

