1

ms access 2010 から Java を使用してデータベースに接続する方法を複数試しましたが、うまくいきません。

  1. プロパティのパスを に変更して、ODBC ドライバーのパスを 64 ビットから 32 ビットに設定しました%windir%\SysWOW64\odbcad32.exe

  2. この Web サイトで AccessDatabaseEngine_x64.exe 用の Microsoft Access データベース エンジン 2010 再頒布可能パッケージをダウンロードしました。http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=13255

ほとんどの Web サイトを調べたところ、データベース エンジン 2010 をダウンロードするように言われました。しかし、まだ次のエラーが表示されます。

[Microsoft] [ODBC ドライバー マネージャー] 指定された DSN には、ドライバーとアプリケーションの間のアーキテクチャの不一致が含まれています。

私の問題を解決するためのステップバイステップガイドを投稿できる人はいますか? どんな助けでも大歓迎です。

現在のソースコード

private Connection con; 
public void setUp(String dsn) {
    try { 
        Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    } catch (Exception e) { 
        System.out.println("Load driver error"); 
    } try { 
        String s = "jdbc:odbc:" + dsn; 
        con = DriverManager.getConnection(s, "", ""); 
    } catch (Exception e) {
        e.printStackTrace(); 
    } 
} 

public ResultSet readRequest(String dbQuery) { 
    ResultSet rs = null; 
    try { 
        Statement stmt = con.createStatement(); 
        rs = stmt.executeQuery(dbQuery); 
    } catch (Exception e) { 
        e.printStackTrace(); 
    } 
    return rs; 
}
4

1 に答える 1

0

64 ビット JVM と 64 ビット MS-Access の接続は、64 ビットとは少し異なります。あなたと同じ痛みを経験し、問題を解決する方法についての記事を書いた人がいます.

基本的に、64 ビット ライブラリを使用している場合は、接続文字列を少し変更する必要があります。これを使って:

String url = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ="+fileName;
con = DriverManager.getConnection(url,"","");

filename は、アクセス ファイルへのフル パスの文字列です。

String s = "jdbc:odbc:" + dsn; 
con = DriverManager.getConnection(s, "", "");
于 2012-11-27T14:53:05.923 に答える