MDB-Datei (MS Access) mit JDBC-ODBC unter Linux ansprechen

Objektorientierte Programmiersprache auf Basis einer virtuellen Maschine (https://www.oracle.com/java/)
Antworten
nufan
Wiki-Moderator
Beiträge: 2558
Registriert: Sa Jul 05, 2008 3:21 pm

MDB-Datei (MS Access) mit JDBC-ODBC unter Linux ansprechen

Beitrag von nufan » Do Mai 05, 2011 9:55 pm

Tag :)
Nach langem Suchen und Herumprobiern hab ich es geschafft eine MS-Access "Datenbank" mit ODBC zu öffnen, jedoch kann ich keine Statement-Instanz erstellen. Folgender Code:

Code: Alles auswählen

import java.sql.*;

class JDBCFirst {

    public static void main(String args[]) throws SQLException, ClassNotFoundException {
        Connection conn;
        Statement stmt;
        Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
        conn = DriverManager.getConnection("jdbc:odbc:books");
        stmt = conn.createStatement();           // Zeile 11
    }
}
Liefert folgendes Ergebnis:

Code: Alles auswählen

Exception in thread "main" java.sql.SQLException: The result set type is not supported.
        at sun.jdbc.odbc.JdbcOdbcStatement.initialize(JdbcOdbcStatement.java:154)
        at sun.jdbc.odbc.JdbcOdbcConnection.createStatement(JdbcOdbcConnection.java:422)
        at sun.jdbc.odbc.JdbcOdbcConnection.createStatement(JdbcOdbcConnection.java:396)
        at JDBCFirst.main(JDBCFirst.java:11)
Java Result: 1
Mit isql kann ich SQL-Befehle auf die Datei ausführen (auch wenn isql bei einem bestimmten SELECT abstürzt...). Hat jemand eine Idee woran das liegt? Leider bin ich an Access gebunden...

Benutzeravatar
cloidnerux
Moderator
Beiträge: 3123
Registriert: Fr Sep 26, 2008 4:37 pm
Wohnort: Ram (Gibts wirklich)

Re: MDB-Datei (MS Access) mit JDBC-ODBC unter Linux ansprech

Beitrag von cloidnerux » Do Mai 05, 2011 10:12 pm

Vlt daran:
The JDBC-ODBC Bridge driver is recommended only for experimental use or when no other alternative is available
->http://download.oracle.com/javase/1.3/d ... e.doc.html
Anscheinden gibt deine Access-Datenbank einen Rückgabewert "Set type", den aber dein Interface nicht kennt und deswegen eine Ausnahme schmeißt.
Ist deine Verbindung valide und geöffnet?

Edit: Vlt hilft dir das weiter: http://www.java-forum.org/datenbankprog ... ss-db.html
Redundanz macht wiederholen unnötig.
quod erat expectandum

nufan
Wiki-Moderator
Beiträge: 2558
Registriert: Sa Jul 05, 2008 3:21 pm

Re: MDB-Datei (MS Access) mit JDBC-ODBC unter Linux ansprech

Beitrag von nufan » Do Mai 05, 2011 10:39 pm

cloidnerux hat geschrieben:Vlt daran:
The JDBC-ODBC Bridge driver is recommended only for experimental use or when no other alternative is available
->http://download.oracle.com/javase/1.3/d ... e.doc.html
Ich bin leider auch an ODBC gebunden.
cloidnerux hat geschrieben:Anscheinden gibt deine Access-Datenbank einen Rückgabewert "Set type", den aber dein Interface nicht kennt und deswegen eine Ausnahme schmeißt.
Ist deine Verbindung valide und geöffnet?
Beim Aufruf von conn.isValid() bekomme ich eine java.lang.UnsupportedOperationException?! Und conn.getMetaData().getDriverName() gibt mir nur "JDBC-ODBC Bridge ()" zurück, irgendwie hab ich das Gefühl da fehlt was...
cloidnerux hat geschrieben:Edit: Vlt hilft dir das weiter: http://www.java-forum.org/datenbankprog ... ss-db.html
Wie gesagt, ODBC :/

Antworten