JAVA连接ACCESS数据库

来源:互联网 发布:java程序结构分为 编辑:程序博客网 时间:2024/05/29 02:39

ACCESS数据库虽然在功能和性能上无法和MYSQL、ORACLE等专业数据库相比,但由于安装方便、使用便捷,在JAVA数据学习时可作为临时数据库使用。

JAVA连接ACCESS数据库非常便捷,一种方式是使用JDBC for ACCESS的专门驱动,在java官网或office官网都有下载,这种方式需加载额外的驱动,不推荐使用,有兴趣的朋友可以试试。

另一种就是使用JDBC-ODBC桥来连接。使用JDBC-ODBC连接ACCESS数据库,必须要求ACCESS版本与操作系统版本一致,如64位系统安装了32位的ACCESS将连接失败。JDBC-ODBC又可以分为两种方式:直连方式和配置数据源连接方式。

一、JDBC-ODBC直连ACCESS数据库

从JDBC-ODBC直连这个名称可以看出,该种方式虽然被称作“直连”,但仍然借助了JDBC-ODBC桥。这种连接仍需要ODBC数据源,只不过数据源在JAVA程序中由代码编写,而不用在系统的“管理工具”中配置了。

在JAVA代码中如何编写ODBC的ACCESS数据源呢?我们先打开系统中“管理工具”下的“数据源(ODBC)”设置界面:


从该界面中可以看出,系统中安装了ACCESS后,默认安装了ACCESS的ODBC驱动,驱动程序的名称为“Microsoft Access Driver (*.mdb, *.accdb)",这个名称是我们在JAVA代码中连接ACCESS数据库的关键。(如果安装了EXCEL,同样会默认安装EXCEL的ODBC驱动,名称为"Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)",同样可以使用此名称连接EXCEL数据库)。

我们通过下面的程序展示一直如何直连ACCESS数据库:

程序中所需的ACCESS数据库名称为mytest.accdb,其中“学生信息表”如下:
学生信息表ID姓名学号出生日期1张三202015/1/52李四302012/11/73王五402011/5/84赵六502009/3/20

其中ID字段为自动编号,姓名字段为文本,学号字段为数字,出生日期字段为时间/日期。

从该代码中可以看出

1、加载的数据库驱动为sun.jdbc.odbc.JdbcOdbcDriver,即jdbc-odbc桥驱动

2、连接的数据库字符串为jdbc:odbc:driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=./mytest.accdb

其中jdbc:odbc:driver指定连接odbc驱动,它指向的正是刚才我们在系统ODBC配置界面中看到的ACCESS的ODBC驱动:Microsoft Access Driver (*.mdb, *.accdb)。要注意的是,该驱动名称要和ODBC配置界面中的驱动名称完全一致,即在Driver后有一个空格,在*.mdb和*.accbd间有一个空格,这两个空格是必不可少的,否则会出现如下编译报错:

后面的DBQ字符串指向的是实际的ACCESS数据库实体文件,可以使用绝对路径指定,也可以使用相对路径指定。但是要注意的是,如果使用相对路径指定当前目录,必须使用“./ XXX.accdb”的形式,否则会出现如下编译报错:


如果编写正确,运行结果如下:


这样我们通过JDBC-ODBC桥直连ACCESS数据库成功。

二、通过JDBC-ODBC桥连接ODBC数据源方式连接

这种方式即最基本的连接ODBC数据源方式

1、在系统ODBC配置面板中添加一个用户或系统数据源,输入名称后选择ACCESS源文件:


2、在JAVA程序中使用数据源名称进行连接,只需将原代码中的连接字符串jdbc:odbc:driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=./mytest.accdb改写为:

jabc:odbc:test即可,这里的test就是ODBC中的ACCESS数据源名称。

0 0
原创粉丝点击