2012-04-21 16 views
0

jdbcとスイングを使用してアクセスデータベースに接続しようとしました。ただし、 ODBCデータソースコントロールパネルでMS Accessデータベースドライバ(* .mdb)が見つかりませんでした。利用できるのはSQL Serverのものだけです。ちょっと読んだら、私のOSは64ビットで、私のMS Accessは32ビットだったので、それは起こったと思う。Accessデータベースに接続中にJDBC SQLエラーが発生しました

その後、私はそこのWindows/SYSWOW64/odbcad32.exeを

に行ってきました、私は、Microsoft Accessデータベースドライバを見つけることができます。 「avi」という名前でデータベースに適切に接続し、再度実行しました。

私は

java.sql.SQLException: [Microsoft][ODBC Driver Manager] The specified DSN contains an architecture mismatch between the Driver and Application 
    at sun.jdbc.odbc.JdbcOdbc.createSQLException(Unknown Source) 
    at sun.jdbc.odbc.JdbcOdbc.standardError(Unknown Source) 
    at sun.jdbc.odbc.JdbcOdbc.SQLDriverConnect(Unknown Source) 
    at sun.jdbc.odbc.JdbcOdbcConnection.initialize(Unknown Source) 
    at sun.jdbc.odbc.JdbcOdbcDriver.connect(Unknown Source) 
    at java.sql.DriverManager.getConnection(Unknown Source) 
    at java.sql.DriverManager.getConnection(Unknown Source) 
    at Conn.updt(Conn.java:25) 

Conn.java線24と25、このエラーを得た:

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 
Connection con = DriverManager.getConnection("jdbc:odbc:avi"); 

は、私はまだその32から64ビットの問題だと思いますが、任意のターンアラウンドはありますか?私はこれにあまり慣れていないので、多くの専門知識を必要としないものです。

+0

Chekc the link http://stackoverflow.com/questions/2810754/architecture-mismatch-between-the-driver-and-application – user1127214

+0

上記のリンクをありがとうございました。しかし、私はAccess 2007を使用しています。それ以外の方法はありますか? –

答えて

1

--from MSDN -

C使用し、64ビットプラットフォームの下で32ビットドライバに接続するデータソースを管理する:\ WINDOWS \ SYSWOW64 \ odbcad32.exeをします。 64ビット・ドライバーに接続するデータ・ソースを管理するには、c:¥windows¥system32¥odbcad32.exeを使用します。

64ビットodbcad32.exeを使用して32ビットドライバに接続するDSNを構成または削除すると、このメッセージが表示されます。

+0

感謝の気持ち:)ここでは、私のデータソースは、私が接続しようとしている 'avi'という名前のMS Access 2007データベースです。ドライバは32ビットodbcad32.exeです。 system32/odbcad32.exeにはアクセスするためのドライバがありません。 SQL Serverのみ。まだ解決策を探しています... –

関連する問題