在使用java连接access数据库的时候遇到这样的问题。
代码如下:
String ur1="jdbc:odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=D:\\test.accdb";
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con = DriverManager.getConnection(ur1);
sql= con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
rs = sql.executeQuery("select * from TABRESULTMETADATA'");
注意:如果要连接的是新的.accdb,在*.mdb,后面是有一个空格的。
根据网友所说的,可以找到
C:/Windows/SysWOW64 在这个目录下找到 odbcad32.exe
双击打开。
确定一下里面的数据源驱动,里面有很多可用个数据源驱动,然后就可用添加连接Access的ODBC的数据源了。
本人在查看后,发现里面已经存在了驱动了,还是显示这样的问题,一般来说安装access的时候数据源驱动会自动安装进去。后来,发现可能是因为驱动程序和应用程序之间的体系结构不匹配造成的,我的access是32位的,而java是64位的。
如果没有其他要求的话,这里提供两种解决方法:
1、安装64位版本的access,这个可能比较复杂。
2、安装32位版本的java,同时ide也要改变,比如使用的64位eclipse也要改成32位的