首页 > 学院 > 开发设计 > 正文

JDK1.8 连接Access数据库

2019-11-14 10:48:44
字体:
来源:转载
供稿:网友

JDBC (javaDB Connection)—Java数据库连接

JDK1.8增加了很多新特性,但不再包含access桥接驱动,因此在连接Access数据库时有所变化[和JDK1.6相比]. 一、 设置数据源(ODBC) 步骤:控制面板->系统安全->管理工具->数据源(ODBC) [针对Window 32位] 1.添加(选定Microsoft Access Driver(.mdb  .accdb))完成 2.指定数据源名、选择驱动器(C、D盘),选中要连接的数据库。 网上有很多关于设置数据源(ODBC)的帖子,可以百度一下。 3.常见问题 在创建Access数据的ODBC数据源时没有Access数据源驱动器… 打开管理工具 ODBC数据源管理器里面只有SQLServer ,没有Access等其他的,这是因为Access数据源驱动器是32位的,64位不支持。 4.解决方案[针对Window 64位]:打开32位版本的ODBC管理工具 通过C:/Windows/SysWOW64/odbcad32.exe启动32位版本ODBC管理工具。(界面和设置过程和设置32位的相同)

二、JDK配置 1、JDK1.8中不再包含access桥接驱动,因此不再支持jdbcodbc桥接方式,需要下载access驱动jar包(Access_JDBC30.jar),而JDK1.1到JDK1.6都自带的有,不需要下载。 2、把Access_JDBC30.jar放到JDK的lib里。  3、添加了以后,修改CLASSPATH,环境变量的值需要加上这个jar包,路径为驱动包的绝对路径,例如C:/PRogramFiles/Java/jre1.8.0_65/lib/Access_JDBC30.jar,添加完后,需要重启你的电脑,然后就可以连接了。[如果CLASSPATH中已有值,在最后添加就行,不同值之间添加分号;] 4、在Eclipse中,右点项目,选择properties—java build path —Libraried—Add Jars,添加到工程就可以。 // JDK1.8下,JDBC连接Access数据库 Class.forName("com.hxtt.sql.access.AccessDriver");            //最关键2步---加载驱动、建立连接   (其他操作步骤都大同小异) Connection con = DriverManager.getConnection("jdbc:Access:///d:/MYDB.accdb");

注意:jdbc:Access:/// 固定,后面是数据库路径 d:/MYDB.accdb表示是D盘下的MYDB.accdb这个数据库

//下面这个是JDK1.6连接access的代码,可以对比下driver和url写法的不同 package com.ljheee.jdbc; importjava.sql.Connection; importjava.sql.DriverManager; importjava.sql.ResultSet; importjava.sql.Statement;   //此方式—针对JDK1.6有效, publicclassJdbcTest {     publicstaticvoidmain(String[] args) {         // url表示需要连接的数据源的位置,此时使用的是JDBC-ODBC桥的连接方式,url是“jdbc:odbc:数据源名”         String url = "jdbc:odbc:MYDB";         try {            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");            Connection conn =DriverManager.getConnection(url);            Statement stat =conn.createStatement();            String sql = "select * fromStudent";            ResultSet rs =stat.executeQuery(sql);            while(rs.next()) {                System.out.println(rs.getString(2));            }         } catch(Exception e) {            // TODOAuto-generated catch block             e.printStackTrace();         }     } }


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表