关于jdbc驱动直接连接access数据库的问题

芮先森 2014-10-30 02:20:25
我不想用jdbc-odbc桥连接,我就想直接用本地协议驱动(就是jdbc驱动方法的type4)
P.S.我是想用jsp在网页上做一个实现数据库增删改查的小程序,jdk是1.8
那么问题来了:
1.我下载了access的驱动“Access_JDBC30.jar”,我应该怎么用它呢? 把它放在jre/lib 里么?
2.jdbc如何加载access驱动呢? 就是Class.forName(); 括号里填什么啊?
3.之后的连接,access的url应该怎么写?

小弟比较笨,在百度上找了2天了问题还没解决,望各位大哥能帮小弟解答疑惑,先谢谢啦!
...全文
5952 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
The_best_man 2017-05-21
  • 打赏
  • 举报
回复
Connection con=null; Statement st=null; ResultSet rs=null; try { //注册驱动 Class.forName("com.hxtt.sql.access.AccessDriver"); System.out.println("驱动已加载"); out.println("驱动已加载"); } catch(ClassNotFoundException e) { System.out.println("找不到驱动程序"); out.println("找不到驱动程序"); e.printStackTrace(); } try { out.println("2"); con=DriverManager.getConnection("Jdbc:Access:///C:/K.mdb"); st=con.createStatement(); rs=st.executeQuery("select * from goodsInfo"); out.print("<table border=1>"); out.print("<tr>"); out.print("<th>编号</th>"); out.print("<th>支出项目</th>"); out.print("<th>费用</th>"); out.print("<th>类别</th>"); out.print("</tr>"); while(rs.next()) { out.print("<tr>"); out.print("<td>"+rs.getString(1)+"</td>"); out.print("<td>"+rs.getString(2)+"</td>"); out.print("<td>"+rs.getString(3)+"</td>"); out.print("<td>"+rs.getString(4)+"</td>"); out.print("</tr>"); } out.print("</table>"); } catch(SQLException e) { e.printStackTrace(); } finally { try { if(rs!=null)rs.close(); if(st!=null)st.close(); if(con!=null)con.close(); } catch(SQLException e) { e.printStackTrace(); } } 为什么我的总是报错无法找到
云浩舟 2016-08-20
  • 打赏
  • 举报
回复
能否帮我看看我按照你这样搞还是报错了。 ava.sql.SQLException: Users/bh/Work/tool/workspace/web_vmware/WebRoot/WEB-INF/classes/vmware.mdb doesn't exist or can't be accessed! If you're using mapped driver to access Windows, maybe it's a secuirty issue. at com.hxtt.global.SQLState.SQLException(Unknown Source) at com.hxtt.sql.bm.a(Unknown Source) at com.hxtt.sql.access.r.<init>(Unknown Source) at com.hxtt.sql.access.EmbeddedDriver.connect(Unknown Source) at com.hxtt.global.SQLState.getConnection(Unknown Source) at com.hxtt.sql.HxttDriver.if(Unknown Source) at com.hxtt.sql.HxttDriver.connect(Unknown Source) at java.sql.DriverManager.getConnection(DriverManager.java:571) at java.sql.DriverManager.getConnection(DriverManager.java:215) at util.DBUtil.getConnection(DBUtil.java:164) at util.DBUtil.main(DBUtil.java:77) java.lang.NullPointerException at util.DBUtil.main(DBUtil.java:79)
三九四 2016-06-15
  • 打赏
  • 举报
回复
sun.jdbc.odbc.JdbcOdbcDriver 在jdk1.6里找不着
baidu_33275229 2015-12-06
  • 打赏
  • 举报
回复
虽不是完整的,但是很正确,两种方法都能成功。
kunhdd 2015-07-09
  • 打赏
  • 举报
回复
正好有帮助!
as91856079 2014-12-27
  • 打赏
  • 举报
回复
import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; public class test { /** * @param args * @throws Exception */ public static void main(String[] args) throws Exception { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); String url = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ="+"D://ni.accdb"; Connection con = DriverManager.getConnection(url); Statement st = con.createStatement(); String sql = "select * from basic"; ResultSet rs = st.executeQuery(sql); while(rs.next()) { System.out.println(rs.getString("name")); } } }
as91856079 2014-12-27
  • 打赏
  • 举报
回复
bichir 2014-10-30
  • 打赏
  • 举报
回复
这后缀名可以随便改,只要在url上写对就行了
humanity 2014-10-30
  • 打赏
  • 举报
回复
啥都知道了,还问个啥,自己琢磨呗。
引用 2 楼 u010387972 的回复:
[quote=引用 1 楼 bichir 的回复:] try { Class.forName("com.hxtt.sql.access.AccessDriver").newInstance(); String url = "jdbc:Access:///c:/a/db.mdb"; conn = DriverManager.getConnection(url, "", ""); } catch (Exception e) { e.printStackTrace(); }
太谢谢了大哥! 一下就解决了,太专业了。你的方法我之前在百度上看到了,可是没弄明白和真理擦肩而过,幸好又遇到了你。 可是我还有一个问题,就是我用的是ACCESS 2013,不知道怎么的后缀名是.accdb就有错误,说.accdb后缀名不是数据库文件必须把数据库文件改成.mdb[/quote]
芮先森 2014-10-30
  • 打赏
  • 举报
回复
引用 1 楼 bichir 的回复:
try { Class.forName("com.hxtt.sql.access.AccessDriver").newInstance(); String url = "jdbc:Access:///c:/a/db.mdb"; conn = DriverManager.getConnection(url, "", ""); } catch (Exception e) { e.printStackTrace(); }
太谢谢了大哥! 一下就解决了,太专业了。你的方法我之前在百度上看到了,可是没弄明白和真理擦肩而过,幸好又遇到了你。 可是我还有一个问题,就是我用的是ACCESS 2013,不知道怎么的后缀名是.accdb就有错误,说.accdb后缀名不是数据库文件必须把数据库文件改成.mdb
bichir 2014-10-30
  • 打赏
  • 举报
回复
try { Class.forName("com.hxtt.sql.access.AccessDriver").newInstance(); String url = "jdbc:Access:///c:/a/db.mdb"; conn = DriverManager.getConnection(url, "", ""); } catch (Exception e) { e.printStackTrace(); }

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧