Seite 1 von 1

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

Verfasst: Do Mai 05, 2011 9:55 pm
von nufan
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...

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

Verfasst: Do Mai 05, 2011 10:12 pm
von cloidnerux
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

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

Verfasst: Do Mai 05, 2011 10:39 pm
von nufan
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 :/