Ms access MS Access ODBC连接
我正在使用MS Access作为web应用程序的后端。Ms access MS Access ODBC连接,ms-access,web-applications,jdbc,odbc,driver,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 d
由于我使用的是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();
您的问题表明您已经了解了sysWOW64子系统,因此请记住,在64位Windows计算机上有两个“ODBC管理员”应用程序
C:\Windows\System32\odbcad32.exe
用于64位应用程序,以及
C:\Windows\SysWOW64\odbcad32.exe
用于32位世界
…(是的,命名看起来确实有点落后),在64位机器上,您可以从控制面板>管理工具
中看到的是64位机器
在其中一个中创建的系统DSN在另一个中不可见。为特定应用程序配置DSN时,您必须“注意自己的一点”。) 问题不在于机器的64位,而在于JVM的64位。如果是,请使用64位管理员,如果不是,请使用32位管理员(您知道它们都在哪里)。:先生,您能更详细地说明一下吗..我需要在哪里指定dsn..为什么会出现错误?@Jayanth(1)re:“我需要在哪里指定dsn”--您需要确定应用程序是在32位还是64位空间中运行,然后运行相应的“ODBC管理员”应用程序来创建DSN。(2) re:“为什么会出现这样的错误”——正如我的回答所暗示的,有时32位和64位的“世界”彼此看不见。如果您的32位应用程序需要系统DSN,并且您在64位“世界”中创建了它,那么您的应用程序将不知道它存在。