Saban Geschrieben 2. Februar 2009 Geschrieben 2. Februar 2009 Hallo Zusammen! ich versuche gerade meine Java Applikation an Access 2007 (accdb) anzubinden. Ich hab hierfür einfach den Code den ich mal für ne .mdb geschrieben hatte her genommen und den Teil .mdb durch .accdb ersetzt /* Datenbank Treiber laden --> bindet die Klasse ins Laufzeit-system ein */ try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); System.out.println("Treiber: 'sun.jdbc.odbc.JdbcOdbcDriver' wurde geladen"); } catch (ClassNotFoundException e) { System.err.println("Treiber-Klasse " + e + " konnte nicht geladen werden!"); System.exit(0); } /* Verbindung zur Datenbank aufbauen */ try { String db_url = "jdbc:odbc:Driver={Microsoft Access Driver (*.accdb)};DBQ=" + db_name.trim(); con = DriverManager.getConnection(db_url, user, passwd); System.out.println("Verbindung mit der Datenbank hergestellt!\n"); } catch (SQLException e) { System.err.println("Datenbank Verbindungsfehler!\n" + e); System.exit(0); } Ich bekomme aber dann immer den Fehler... Datenbank Verbindungsfehler! java.sql.SQLException: [Microsoft][ODBC Driver Manager] Der Datenquellenname wurde nicht gefunden, und es wurde kein Standardtreiber angegeben Der Pfad stimmt und wenn ich mit dem Code eine .mdb anbinde dann klappts wunderbar... :confused: Kann mir da jemand weiterhelfen? MfG Saban Zitieren
Eminent Geschrieben 3. Februar 2009 Geschrieben 3. Februar 2009 Also ich muss gestehen ich frage mich was du da komisches bei der URL zusammenbaust, habe ich offen gestanden so noch nirgends gesehen. Ich für meinen Teil gehe bei der Anbindung von Access-Datenbanken grundsätzlich so vor. 1. Datenbank bei den ODBC-Datenquellen in Windows eintragen 2. Vergebenen Namen der ODBC-Datenquelle merken (z. B. AccessDB) 3. Java-Code (vereinfacht) Class.forName("sun.jdbc.odbc.JdbcOdbcDriver") DriverManager.getConnection("jdbc:odbc:AccessDB", "user", "password") 4. Zugriff auf die Datenbank Hat bisher immer so funktioniert. Kann hier leider nicht ausprobieren weil wir hier jetzt in der Arbeit nur Office 2000 haben. Zitieren
Dragon8 Geschrieben 3. Februar 2009 Geschrieben 3. Februar 2009 Die URL von Saban ist so schon richtig, wenn man sich halt eben nicht die Mühe machen will, oder nicht die Möglichkeit hat, die Datenbank in jedem System als Datenquelle anzugeben. Jedenfalls für Access Datenbanken bis 2003 klappt das so wunderbar. Zitieren
Eminent Geschrieben 3. Februar 2009 Geschrieben 3. Februar 2009 Die URL von Saban ist so schon richtig, wenn man sich halt eben nicht die Mühe machen will, oder nicht die Möglichkeit hat, die Datenbank in jedem System als Datenquelle anzugeben. Jedenfalls für Access Datenbanken bis 2003 klappt das so wunderbar. Ok, schon mal was dazu gelernt :-) Zitieren
Saban Geschrieben 3. Februar 2009 Autor Geschrieben 3. Februar 2009 Danke für eure Posts! ich hab das Problem gelöst und zwar muss zwischen *.mdb und *.accdb ein Leerzeichen. jdbc:odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ Zitieren
Amstelchen Geschrieben 3. Februar 2009 Geschrieben 3. Februar 2009 ich hab das Problem gelöst und zwar muss zwischen *.mdb und *.accdb ein Leerzeichen. ja, für die nachwelt: der treibername muss exakt mit jenem in systemsteuerung -> verwaltung > ODBC -> treiber übereinstimmen. s'Amstel Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.