DB Basics (JDBC-Treiber)

lenniii

Aktives Mitglied
Hallo,

ich, absoluter Newbie in Sachen Java&DB, bekomme es nicht gebacken ein Programm zu schreiben um mich mit einer lokalen DB (.mdb) zu verbinden. (Arbeite mit Mac OSX)

Das ist mein derzeitiger Startcode - laden des Treibers.
Java:
public 
class Main 
{
	   public static void main(String[] args) 
	   {
		   try 
		   {
				Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
			}
			catch(Exception x)
			{
				System.out.println( "Unable to load the driver class!" );
			}
	   }
}

funktioniert aber leider nicht - warum?
Gibt's alternative Treiber für OSX?

Viele Grüße,
Lenniii
 
Zuletzt bearbeitet von einem Moderator:
Ahoi,

kleiner Tipp für den Anfang:

Java:
catch(Exception x)
            {
                System.out.println( "Unable to load the driver class!" );
                x.printStackTrace();
            }

Das printStackTrace() gibt dir noch ein paar mehr Informationen aus, wieso die Exception geworfen worden ist, und um welche Art es sich dabei handelt. Diese Informationen könntest du hier dann posten, und wir könnten dir dann besser helfen.
 
java.lang.ClassNotFoundException: sun.jdbc.odbc.JdbcOdbcDriverUnable to load the driver class!

at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:315)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:330)
at java.lang.ClassLoader.loadClass(ClassLoader.java:250)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:398)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:169)
at Main.main(Main.java:9)
 
Datenbank-Treiber als Jar bekannt, vorhanden? wenn ja wie eingebunden?
nach welchem Tutorial gehst du denn vor?
 
nach Java JDBC Tutorial

Ich habe die JDBC-Jars von Oracle geladen und eingebunden.
Prop->Java Build Path->Jar einbinden

wenn ich nun oracle. eingebe kommen auch die entsprechenden Möglichkeiten. Sollte also geklappt haben.
 
welches jar genau?

oracle mag einen anderen Treiber-Namen haben, z.B. "oracle.jdbc.driver.OracleDriver" nach
JDBC - Oracle FAQ
oder im Jar schauen was so drin steckt

-----

siehe auch Antwort von FArt zwischendurch
 
Nutze privat ein MacBook und habe einen Nebenjob übernommen. Ist sicherlich keine traumhafte Kombination mit einer mdb, sollte aber eigentlich machbar sein ...
Und da Java, sollte es ja eigentlich egal sein...

back2topic:

MAC OS X JDBC drivers
Oracle9i v9.0.1 thin JDBC driver for Mac OS X

enthält
charset-converter
ConnectionEvent.class
ConnectionEventListener.class
ConnectionPoolDataSource.class
DataSource.class
PooledConnection.class
RowSet.class
RowSetEvent.class
RowSetInternal.class
RowSetListener.class
RowSetMetaData.class
RowSetReader.class
RowSetWriter.class
XAConnection.class
XADataSource.class

und noch ein oracle-Ordner mit allerlei intus.


ich wusste nicht so genau wie mich
"Der Treiber ist in der Standarddistribution von SUN enthalten. Auf deinem Mac läuft aber keine SUN VM...
" das weiter bringen könnte, es muss doch möglich sein das auf nem Mac zum laufen zu bringen
 
tja, dieses intus könnte es sein, wie gesagt z.B.
oracle.jdbc.driver.OracleDriver
oder wenn dann ein anderer Klassennamen in oracle/jdbc/driver

aber vielleicht gehts auch ganz anders, ist leider wirklich nicht so klar in Java, zumindest (auch) für mich nicht,
JDBC über ODBC kann wieder ganz andere Driver verlangen, falls du das überhaupt brauchst
 
Ich habe den oracle.jdbc.driver.OracleDriver eingebaut. Der wird auch geladen. Allerdings bekomme ich keine Connection zur DB 🙁

Sie ist lokal gespeichert.
Kann ich hiermit drauf zugreifen?
Java:
java.sql.Connection dbConnection = DriverManager.getConnection(url, username, password);
Ich verstehe den url noch nicht so ganz:
URL: a database url of the form jdbc:subprotocol:subname
Was muss ich denn da zum lokalen Verbinden angeben?
 
hast du wie von FArt vorgeschlagen google zu dem Thema befragt?

führt z.B. zu
Access Microsoft Access-Datenbank unter Verwendung von Java-JDBC-ODBC-Brücke - Beispielcode (German)
mit Connection-URL

Oracle scheint doch mit dem ganzen Thema überhaupt nichts zu tun haben, was brachte dich dazu?
sun.jdbc.odbc.JdbcOdbcDriver
ist also wieder eher das Thema und nach FArt unter Mac nicht verfügbar, zumindest nicht standardmäßig..

vielleicht hilft
Download MS Access JDBC Driver for Mac - Supports transaction, embedded access, remote access. MacUpdate Mac Software Downloads
?


klingt jedenfalls nach einem schweren Spezialthema, mache vielleicht besser ein neues Thema 'MS Access DB unter Mac' auf
oder suche entsprechend bei google
 
Kein Wunder.. hast du eine Oracle DB am laufen? Befolge die Tipps, sonst wirst du auf keinen grünen Zweig kommen! Gelinde gesagt hast du keine Ahnung was du da treibst...
ist wohl etwas wahres dran. Man kommt irgendwie ins Try&Error Prinzip: einfach ausprobieren, da es so nicht klappte, wie ich es erst hatte.

Habe den ursprünglichen Code mal auf Win laufen lassen, und da lief es ohne Probleme. Tja, werde es dann doch auf Win machen müssen.
Schade.
Danke jedenfalls für die Hilfestellungen.
 

Zurück
Oben