2

こんにちは、Windows 7 OS で MS Access データベースに接続するための以下のコードがあります。データ ソースのショートカットを 64 ビット odbc から 32 ビットに変更しました。しかし、それでもエラーが発生します

java.sql.SQLException: [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified
    at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6956)
    at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7113)
    at sun.jdbc.odbc.JdbcOdbc.SQLDriverConnect(JdbcOdbc.java:3072)
    at sun.jdbc.odbc.JdbcOdbcConnection.initialize(JdbcOdbcConnection.java:323)
    at sun.jdbc.odbc.JdbcOdbcDriver.connect(JdbcOdbcDriver.java:174)
    at java.sql.DriverManager.getConnection(DriverManager.java:579)
    at java.sql.DriverManager.getConnection(DriverManager.java:221)
    at TestDBConnection.main(TestDBConnection.java:21)

そして私のコードは次のとおりです。

import java.sql.Connection;
import java.sql.DriverManager;

public class TestDBConnection {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        try
        {
            System.out.println("filename");
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
            String database = 
                      "jdbc:odbc:DRIVER={Microsoft Access Driver (*.mdb)};DBQ=C:\\Test\\Tests.mdb";
            Connection conn = DriverManager.getConnection(database, "", "");
        } catch(Exception ex) {
            ex.printStackTrace();
        }
    }

}

SQL Workbenchツールを使用して接続できますが、Javaコードを使用することはできません。

Google で過去 3 時間検索して苦労しているので、助けが必要です。

4

3 に答える 3

8

Java アプリが 64 ビット Java 仮想マシン (JVM) で実行されている場合DRIVER={Microsoft Access Driver (*.mdb)}、Jet データベース エンジンの 64 ビット バージョンがないため、動作しません。あなたはできる...

  • こちらから Microsoft Access データベース エンジンの 64 ビット バージョンをダウンロードしてインストールし、コードで使用DRIVER={Microsoft Access Driver (*.mdb, *.accdb)}します。

... また ...

... また ...

  • Access データベースにはUCanAccess JDBC ドライバーを使用します。これは無料でオープンソースのピュア Java 実装であるため、Windows と非 Windows の両方の 32 ビット システムと 64 ビット システムの両方で動作します。また、Java 8 (JDBC-ODBC Bridge を削除した) でも動作します。詳細については、次を参照してください。

        ODBC を使用せずに Java から Access データベースを操作する

于 2013-10-12T15:55:57.373 に答える
1

Microsoft から入手可能な Access 用の 64 個の ODBC ドライバーをインストールできます。

http://www.microsoft.com/en-us/download/details.aspx?id=13255

于 2013-10-29T20:54:06.947 に答える
0

1) System dsn (Driver Microsoft Access Driver( .mdb, .accdb)) を構成する必要があります。2) 上記の構成で .mdb データベースをリンクし、以下のコードを記述します。

 Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
 String database = "jdbc:odbc:systemdsnname";
 Connection conn = DriverManager.getConnection(database, "", "");
于 2016-02-09T06:25:35.703 に答える