0

我正在使用 MS Access 作为 Web 应用程序的后端。
由于我使用的是 64 位操作系统,因此我已经更新了sysWOW64ODBC(数据源)中的路径......但我仍然收到错误消息:

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

问题不是机器是 64 位,而是你的 JVM 是 64 位。如果是,请使用 64 位管理员,如果不是,请使用 32 位管理员(您知道它们都在哪里)。

于 2013-03-27T16:17:34.453 回答
0

您的问题表明您已经了解该sysWOW64子系统,因此请记住,在 64 位 Windows 机器上,有两个“ODBC 管理员”应用程序...

C:\Windows\System32\odbcad32.exe对于 64 位应用程序,以及

C:\Windows\SysWOW64\odbcad32.exe对于 32 位世界

...(是的,命名似乎有点落后),在 64 位机器上,您可以看到的Control Panel > Administrative Tools是 64 位机器。

您在其中一个中创建的系统 DSN 在另一个中不可见。在为特定应用程序配置 DSN 时,您必须“注意自己的比特性”。:)

于 2013-03-24T22:37:11.640 回答