Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ms access MS Access ODBC连接_Ms Access_Web Applications_Jdbc_Odbc_Driver - Fatal编程技术网

Ms access MS Access ODBC连接

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

我正在使用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();

您的问题表明您已经了解了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位“世界”中创建了它,那么您的应用程序将不知道它存在。