我尝试了以下方法:private String password = "";private String dbName = "dataHC.accdb";private String bd = dbName + ";PWD=" + password;String url = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ="+bd+";";private Connection conn = null;//Connectpublic void connect() { try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); conn = DriverManager.getConnection(url); if (conn != null) System.out.println("Conexión a base de datos "+dbName+". listo"); }catch(SQLException e){ System.out.println(e); }catch(ClassNotFoundException e){ System.out.println(e); }}字体:http://www.jc-mouse.net/base-de-datos/consultas-con-parametros-en-access-y-java我得到这个错误:[Microsoft] [ODBC Microsoft Access驱动程序]常规错误无法打开注册表项进程0x7f8线程0x1174 DBC的Ace DSN(临时)特别java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver]General error Unable to open registry key Temporary (volatile) Ace DSN for process 0x7f8 Thread 0x1174 DBC 0x8dc8d78 Jet'.Exception in thread "main" java.lang.NullPointerException at depuracionDB.consultap(depuracionDB.java:67) at depuracionDB.main(depuracionDB.java:103)我正在使用Eclipse IDE Luna和Java版本“ 1.7.0_45”(64位)
4 回答
汪汪一只猫
TA贡献1898条经验 获得超8个赞
原因5(未被Gord的其他出色解释所涵盖)
用户错误-例如,尝试使用ACE驱动程序读取该功能的早期版本中使用Jet ODBC驱动程序读取的,并非旨在处理的内容(如Excel文件)。即使该消息含糊不清,它仍在打开时正确捕获错误,而不是在您认为打开成功后才正确。:/
www说
TA贡献1775条经验 获得超8个赞
在这种情况下,您需要提及访问数据库文件的完整路径。并且在下面提到的url中,两个扩展名之间必须有一个空格(* .mdb,*。accdb)
例如:
String database="C:/Users/GIRI/Desktop/fdsfkdsfj/abc.accdb";
String url="jdbc:odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=" + database + ";DriverID=22;READONLY=true";
- 4 回答
- 0 关注
- 1285 浏览
添加回答
举报
0/150
提交
取消