Ich dreh durch mit JDBC & ODBC!

Status
Nicht offen für weitere Antworten.

Anyone

Mitglied
Erstmal folgender Code:

Java:
    public static Connection createConnection(String driver, String url)
    {
        // Datenbankverbindungsveriable
        Connection linkID = null;

        try
        {
            // Initiierung des JDBC-Treibers
            Class.forName(driver).newInstance();
        }
        catch (Exception e) // Der JDBC-Treiber konnte nicht initiiert werden.
        {
            e.printStackTrace();
        }

        try
        {
            // Versuch, eine Datenbankverbindung zu initiieren
            linkID = DriverManager.getConnection("jdbc:odbc:" + url);
        }
        catch (SQLException e) // Die Datenbankverbindung konnte nicht aufgebaut werden.
        {
            e.printStackTrace();
        }

        // Die Datenbankverbindung wird zurückgeliefert
        return linkID;
    }

Wenn ich nun folgenden Code aufrufe:

Java:
ConnectionFactory.createConnection("sun.jdbc.odbc.JdbcOdbcDriver", "C:\\Users\\X\\Desktop\\Autoverleih\\autoverleih2003.mdb");

Kommt die Exception:

Der Datenquellenname ist zu lang

What the fuck? Entweder werde ich durch meinen derzeitigen Schlafentzug unaufmerksam, oder ich habe irgendwas vergessen... Könnt ihr mir bitte weiterhelfen? Danke.
 

frapo

Bekanntes Mitglied
Vielleicht den Datenquellnamen kürzen? ;)

z.B in deinem Projekt einen Unterordner mit dem Namen data, db oder sonstwas erstellen, mdb da hinein kopieren, und dann die URL mit der relativen Pfadangabe zur mdb angeben.
 
Zuletzt bearbeitet:

Anyone

Mitglied
Vielleicht den Datenquellnamen kürzen? ;)

z.B in deinem Projekt einen Unterordner mit dem Namen data, db oder sonstwas, mdb da hinein kopieren, und dann die URL mit der relativen Pfadangabe der mdb angeben.

Whaaat?

Java:
ConnectionFactory.createConnection("sun.jdbc.odbc.JdbcOdbcDriver", "C:\\Users\\Andre\\Desktop\\Autoverleih\\a2003.mdb")

Selbiger Fehler tritt auf...
 

frapo

Bekanntes Mitglied
Es wird ja auch selbiger Pfad benutzt.. nur der mdb-Name wurde geändert.

Edit: du benutzt eine absolute Pfadangabe, versuchs mal mit einer relativen Pfadangabe - das sollte klappen.
 

Anyone

Mitglied
Java:
ConnectionFactory.createConnection("sun.jdbc.odbc.JdbcOdbcDriver", new File("db\\a2003.mdb"))

Jetzt erscheint noch zusätzlich eine Meldung:

Code:
Der Datenquellenname wurde nicht gefunden und es wurde kein Standardtreiber angegeben.

Irgendwie komm ich mir gerade hintergangen von Java vor :(
 
Zuletzt bearbeitet:
M

maki

Gast
Wenn der Bauer nicht schwimmen kann, dann ist die Badehose schuld ;)

Mal ernsthaft, das hier:
Java:
"C:\\Users\\X\\Desktop\\Autoverleih\\autoverleih2003.mdb"
sieht falsch aus ;)
 

U2nt

Bekanntes Mitglied
Und wie wäre es deiner Meinung nach richtig?

Also ich würde anstatt
Code:
"C:\\Users\\X\\Desktop\\Autoverleih\\autoverleih2003.mdb"

mal
Code:
"C:/Users/X/Desktop/Autoverleih/autoverleih2003.mdb"

versuchen, wenns dann nicht klappt, melde dich nochmal :)
 

Anyone

Mitglied
Also ich würde anstatt
Code:
"C:\\Users\\X\\Desktop\\Autoverleih\\autoverleih2003.mdb"

mal
Code:
"C:/Users/X/Desktop/Autoverleih/autoverleih2003.mdb"

versuchen, wenns dann nicht klappt, melde dich nochmal :)

Kommt halt dieselbe Fehlermeldung wie zuvor, dass der Datenquellenname zu lang ist.
 

U2nt

Bekanntes Mitglied
Hm normalerweise liegt der maximale "Dateipfad" bei 255...

Kannst ja mal ausprobieren den Driver in den Classpath zu setzen, vielleicht findet er ihn nicht...
 

U2nt

Bekanntes Mitglied
Ich dachte, dass es für Access standardmäßig einen Treiber gibt?

Um in Java eine Verbindung zu Acces Datenbanken aufzubauen brauch man eine sogenannte "ODBC und JDBC Bridge". Der Driver ist beim Java SDK dabei (also der ODBC). Falls das nicht funktioniert sollteste das mal mit der Zeile hier ausprobieren:

Java:
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

(Jedoch muss dafür der Driver installiert sein!)
 

Anyone

Mitglied
Um in Java eine Verbindung zu Acces Datenbanken aufzubauen brauch man eine sogenannte "ODBC und JDBC Bridge". Der Driver ist beim Java SDK dabei (also der ODBC). Falls das nicht funktioniert sollteste das mal mit der Zeile hier ausprobieren:

Java:
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

(Jedoch muss dafür der Driver installiert sein!)

Also "sun.jdbc.odbc.JdbcOdbcDriver" steht ja bereits drin, wie der Factory zu entnehmen ist.
 

U2nt

Bekanntes Mitglied
Das ist ja super :)
Falls jedoch keine Verbindung zur Datenbank Fehler auftreten (Also du keine Datenbank bekommst) liegt es am restlichen Code :)
 

Anyone

Mitglied
Nene alles gut, sag nur falls du ein weiteres Problem bekommst, liegt es wahrscheinlich das die Verbindung zur Datenbank (sprich ID etc.) falsch gesetzt sind. :)

Jo, aber damit ist das grundlegende Problem ja leider noch nicht aus der Welt geschaffen. :( Fällt dir bzw. jemanden anderen nicht noch eine andere Möglichkeit ein?
 

Anyone

Mitglied
Hab ich den Post falsch interpretiert? Weil ich dachte damit meinst du, dass KEINE Fehlermeldung mehr kommt...

Jo sorry, meinte, dass keine Fehlermeldung kommt, wenn man nur den Treiber lädt. ^^

PS: Ich hasse es, wenn magic in meinem System praktiziert wird. In Bezug auf MySQL hat alles(!) geklappt, aber für unser Schulprojekt müssen wir ja ausgerechnet Access benutzen. -.-
 
M

maki

Gast
Und wie wäre es deiner Meinung nach richtig?
Anders ;)

Mal ernsthaft, Doku lesen gehört wohl nicht zu deinen Stärken,oder?
Das solltest du ändern, sonst wird da nix ;)

Frapos link enthält die Lösung:
Java:
"jdbc:odbc:DRIVER={Microsoft Access Driver (*.mdb)};DBQ=C:/Programme/Microsoft Office/Office/Samples/Nordwind.mdb"
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M SQL , CSV Verbindung : Zu Umfangreicher Code durch Unwissenheit Datenbankprogrammierung 21
B Wie kopieren ich eine Spalte von einer Tabelle in eine andere Tabelle SQLite durch java code? Datenbankprogrammierung 26
M Datenbank vor unerlaubtem Zugriff durch Benutzer schützen Datenbankprogrammierung 3
OnDemand Update auf Mysql läuft nicht durch Datenbankprogrammierung 30
M Geschwindigkeitsvorteil durch Exists Operator? Datenbankprogrammierung 1
R JPQL und Navigation durch Collection Datenbankprogrammierung 1
serjoscha MySQL Eine Instanz von eigenem DBWrapper -> Fehler durch mehrfachbenutzung möglich? Datenbankprogrammierung 2
K H2 Datenbank Passwort durch Benutzer festlegen Datenbankprogrammierung 7
S MySQL: Abfrage auf 2 Tabellen durch join Datenbankprogrammierung 5
C JDBC durch Firewall Datenbankprogrammierung 14
G javaproblem durch sql abfrage Datenbankprogrammierung 2
B SQLite + jdbc + IntelliJ-Consumer = "No suitable driver found..." Datenbankprogrammierung 15
J PC-Start Problem JDBC Connection Datenbankprogrammierung 10
N JDBC SQLITE und Cascading Datenbankprogrammierung 2
D Asynchrone Aufrufe mit jdbc Datenbankprogrammierung 5
Edin JDBC Hilfe Datenbankprogrammierung 2
H JDBC Tabellen ausgeben Datenbankprogrammierung 8
Husamoli345 JSF-JDBC Verbindung Crud Datenbankprogrammierung 15
G MySQL JDBC Metadaten auslesen aus .accdb -> Primärschlüssel manchmal erkannt manchmal nicht Datenbankprogrammierung 3
N Java, sql, jar, JDBC-Treiber in Classpath Datenbankprogrammierung 8
O Create Table per JDBC Fehler: ORA-00922 Datenbankprogrammierung 4
J JDBC anschaulich präsentieren Datenbankprogrammierung 2
Thallius MySQL JDBC auf Linux Server zu mySQL DB auf anderem Linux Server wirft Access denied Datenbankprogrammierung 5
ralfb1105 Oracle JDBC Debugging Datenbankprogrammierung 8
Z [JDBC][MYSQL] Access denied Datenbankprogrammierung 7
Thallius MySQL jdbc schließt Verbindung nach vielen Request von selber Datenbankprogrammierung 8
B MySQL JDBC Kommentarfilter Datenbankprogrammierung 4
Aruetiise MySQL Name JDBC Drive finden Datenbankprogrammierung 4
E Sqlite-jdbc Mitliefern Datenbankprogrammierung 4
R jdbc-Zugriff Nicht erlaubt ? Datenbankprogrammierung 16
S probleme mit dem jdbc treiber Datenbankprogrammierung 1
Thallius MySQL Merkwürdiges JDBC Verhalten bei VPN Verbindung. Datenbankprogrammierung 7
O JDBC Daten in zwei Tabellen mit zwei foreach-Schleifen einfügen (insert into) Datenbankprogrammierung 1
F MySQL JDBC Problem Datenbankprogrammierung 5
C JDBC und SQLite Datenbank Datenbankprogrammierung 8
looparda SQLite Active JDBC Abstraktion Datenbankprogrammierung 2
J JDBC SQL Statement mit Parameter Datenbankprogrammierung 7
S JDBC PreparedStatement durchiterieren Datenbankprogrammierung 6
J RESTServie + JDBC + No suitable driver found for jdbc Datenbankprogrammierung 4
KaffeeFan JDBC/ODBC-Bridge entfernt Datenbankprogrammierung 4
S sun.jdbc.odbc.JdbcOdbcDriver wird nicht gefunden Datenbankprogrammierung 2
J Fehlende DatenbankView nach einbeziehen von JDBC Datenbankprogrammierung 3
A Mit JDBC auf postgreSQL Datenbank zugreifen Datenbankprogrammierung 5
C PostgreSQL JDBC + PostgreSQL: getLong liefert 0 statt NULL Datenbankprogrammierung 2
flenst111 SQL-Statement Wie konfiguriert man JDBC-Connect.richtig, damit es bei riesigen Tabs keinen Speicherüberlauf gibt? Datenbankprogrammierung 1
M JDBC Tabellen mit Boolean Spalten können nicht erstellt werden. DB Updaten - wie? Datenbankprogrammierung 6
S JDBC mit Postgres DB connecten Datenbankprogrammierung 3
A Eine MySQL Zeile mit JDBC löschen Datenbankprogrammierung 5
D JDBC - Verständnisfrage Datenbankprogrammierung 2
C Tabelle erstellen mit Apache JDBC-Util Datenbankprogrammierung 1
L Conversion-Error bei JDBC Date Literals Datenbankprogrammierung 3
X MySQL DB-verbindung ohne JDBC/ODBC Datenbankprogrammierung 1
F sun.jdbc.odbc.jdbcodbcdriver wird nicht gefuden Datenbankprogrammierung 3
J Keine Verbindung zu MSSQL DB mit JDBC Datenbankprogrammierung 3
U JDBC prepaird Statements Datenbankprogrammierung 4
B MySQL JDBC Zugriff auf entfernt Datenbank, fehlende Rechte Datenbankprogrammierung 2
Q MySQL JDBC-Treiber Problem Datenbankprogrammierung 2
R Transaktionen von mehreren Anwendungen aus - JDBC Datenbankprogrammierung 3
N MySQL com.microsoft.sqlserver.jdbc.SQLServerException: Die Verbindung wurde geschlossen. Datenbankprogrammierung 1
N JDBC: rollback() bei Exception geht nicht!? Datenbankprogrammierung 1
C Dateipfad des jdbc Treibers Datenbankprogrammierung 2
G JDBC Connect nur über SID fehlerfrei möglich Datenbankprogrammierung 2
R Oracle jdbc Zugriff auf Oracle Datenbankprogrammierung 2
T JDBC Fehler Datenbankprogrammierung 2
J JDBC via Singleton Datenbankprogrammierung 12
Z PostgreSQL JDBC mit Postgresql Datenbankprogrammierung 2
B No suitable driver found for jdbc:oracle:thin:@$HOST:$PORT:$SID Datenbankprogrammierung 7
K JDBC via Netzwerk Datenbankprogrammierung 4
B JDBC Connection Fehler Datenbankprogrammierung 8
K JDBC- In Java "stored procedure" erstellen für DB2,OracleSql ... Datenbankprogrammierung 3
J JDBC in Library|"Treiber konnte nicht geladen werden"" Datenbankprogrammierung 2
B JDBC-Connection: Data source name too long Datenbankprogrammierung 3
D JDBC insert mit select abfrage Datenbankprogrammierung 5
A JDBC Prepared Statement Autoincrement Datenbankprogrammierung 3
H JDBC prüfen ob Table existiert Datenbankprogrammierung 3
crashfinger jdbc-connection mit jre7 funktioniert nicht Datenbankprogrammierung 5
0 JDBC Oracle Verbindungsaufbau Datenbankprogrammierung 6
Q Oracle Linux: ClassNotFoundException: oracle.jdbc.driver.OracleDriver Datenbankprogrammierung 6
B JDBC MySQL Statement Datenbankprogrammierung 3
F Oracle Oracle JDBC Anbindung unter Glassfish 3.1.2 Datenbankprogrammierung 3
V PostgreSQL JDBC Treiber fehlt Datenbankprogrammierung 6
Y JDBC - Datenbankabfrage Webserver Datenbankprogrammierung 4
C JDBC Datenbank funktioniert nicht Datenbankprogrammierung 7
C JDBC , JDO oder JPA Datenbankprogrammierung 17
J MySQL Datenbank konfigurieren, JDBC, MySQL oder Hibernate Datenbankprogrammierung 2
P JDBC Verbindung zur DB klappt nicht Datenbankprogrammierung 6
J Java - JDBC Verbindung zur Datenbank nicht möglich Datenbankprogrammierung 10
K JDBC Buch kaufen? Datenbankprogrammierung 3
K Hibernate vs. JDBC Datenbankprogrammierung 4
K JDBC Driver not found Datenbankprogrammierung 10
GianaSisters Per JDBC auf Microsoft SQL 2005 Datenbankprogrammierung 24
S ich brauche tipps für JDBC Datenbankprogrammierung 4
Paristick MSSQL - JDBC Exception beim Registrieren Datenbankprogrammierung 5
S Applet stucks at SQL Connection (jTDS JDBC) Datenbankprogrammierung 15
R MySQL Voraussetzungen für eine erfolgreiche Datenbankanbindung mittels JDBC Datenbankprogrammierung 2
c_sidi90 JDBC Oracle Connection schlägt fehl Datenbankprogrammierung 2
J jdbc-dataSource in Klassen nutzen Datenbankprogrammierung 2
H Rechnen in Datenbanken - JDBC Mittel der Wahl? Datenbankprogrammierung 32
K MySQL JDBC - Access Datenbank - unbekannter TabellenName Datenbankprogrammierung 4
D JDBC Fehler beim laden der nativen Bibliothek db2jcct2 Datenbankprogrammierung 9

Ähnliche Java Themen

Neue Themen


Oben