MS Access ODBC连接

时间:2013-03-24 16:09:50

标签: ms-access web-applications jdbc odbc driver

我正在使用MS Access作为Web应用程序的后端 由于我使用的是64位操作系统,因此我更新了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();

2 个答案:

答案 0 :(得分:0)

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

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

对于32位世界

C:\Windows\SysWOW64\odbcad32.exe

...(是的,命名确实有点落后),在64位计算机上,您可以从Control Panel > Administrative Tools看到的是64位计算机。

您在其中创建的系统DSN将无法在另一个中显示。为特定应用程序配置DSN时,您必须“注意自己的位置”。 :)

答案 1 :(得分:0)

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