menu Alkaid #二进制初学者 / 网络安全 / 大龄CTF退役选手
JDK1.8 连接Access数据库
93 浏览 | 2017-12-18 | 分类:Java | 标签:Java

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:///g:/Database11.accdb");
注意:jdbc:Access:/// 固定,后面是数据库路径
g:/Database11.accdb表示是g盘下的Database11.accdb这个数据库

首先来创建一个数据库,如下图所示(数据库名为Database11,为了方便,表名也为Database11)

之后配置好JDK后,编写如下代码:

import java.sql.*;
public class ConnectAccess{
	public static void main(String[] args) {
		String sql="select * from Database11";
try{

          Class.forName("com.hxtt.sql.access.AccessDriver"); //JDBC-ODBC桥接器

          System.out.println("驱动已加载");

      }

      catch(ClassNotFoundException e) {

         System.out.print(e);

      }

      try { //连接数据源:

          Connection con = DriverManager.getConnection("jdbc:Access:///G://Database11.mdb","","");

          if(!con.isClosed())

            System.out.println("数据库成功!");
          Statement stmt=con.createStatement(); 

          ResultSet rs=stmt.executeQuery(sql); 

           while(rs.next()){ 

           System.out.println(rs.getString("ID")+'\t'); 

           System.out.print(rs.getString("姓名")+'\t'); 

           System.out.println(rs.getString("数学")+'\t'); 

           System.out.print(rs.getString("物理")+'\t'); 

           System.out.println(rs.getString("英语")+'\t'); 
           }
           stmt.close(); 

           con.close(); 
      }
      catch(SQLException e)
      {
    	  System.out.println(e);
			
      }
	}
}



运行结果:

驱动已加载
数据库成功!
1	
张三	67	
45	34	
2	
王五	34	
65	67	
3	
李四	43	
45	76

 

温柔正确的人总是难以生存,因为这世界既不温柔,也不正确

发表评论

email
web

全部评论 (暂无评论)

info 还没有任何评论,你来说两句呐!