0

WebアプリケーションのバックエンドとしてMSAccessを使用しています。
64ビットOSを使用しているため、ODBC(データソース)のパスを更新しましたsysWOW64...それでもエラーが発生します:

org.apache.jasper.JasperException: javax.servlet.ServletException: 
java.sql.SQLException: [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified

私が使用したコードは次のとおりです。

String database="G:\\databs.mdb";
String url="jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=" + database+";DriverID=22;READONLY=true"; 

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con=DriverManager.getConnection(url,"","");
Statement stmt=con.createStatement();
4

2 に答える 2

0

あなたの質問は、あなたがすでにsysWOW64サブシステムを知っていることを明らかにしているので、64ビットのWindowsマシンには2つの「ODBCAdministrator」アプリケーションがあることに注意してください...

C:\Windows\System32\odbcad32.exe64ビットアプリケーションの場合、および

C:\Windows\SysWOW64\odbcad32.exe32ビットの世界向け

...(はい、名前は少し逆に見えます)、64ビットマシンでは、64ビットマシンから見ることができますControl Panel > Administrative Tools

一方で作成したシステムDSNは、もう一方には表示されません。特定のアプリケーションのDSNを構成するときは、「独自のビットネスを気にする」必要があります。:)

于 2013-03-24T22:37:11.640 に答える
0

問題は、マシンの64ビットではなく、JVMの64ビットです。そうである場合は、64ビットの管理者を使用します。そうでない場合は、32ビットの管理者を使用します(両方がどこにあるかを知っているため)。

于 2013-03-27T16:17:34.453 に答える