JDBC连接Access数据库的几种方式详解

供稿:hz-xin.com     日期:2025-01-18

前几天老师让作几个JSP连接数据库的例子,而且连接的数据库是Access数据库,对于这个数据库自己也不是太了解,后来了解到学习JDBC的时候,连接access是很方便的,很容易的,但是在连接的时候也出现了问题,但是还是解决了。接下来总结一下常用的几种连接方式。

例如有如下的Access数据库student,表basic,以及6条记录,现在通过几种方式在Jsp中将他们的数据显示出来。如图所示:


对于几种连接Access数据库的方式,基本上都是基于JDBC-ODBC方式的,当然也有纯JDBC驱动的方式。这里我暂时就不说了。对于这几种方式,除了取得连接之处不同外,其他的代码都是一样的。所以这里先写出取得连接的几种方式,然后再用完整的代码进行显示。

方式一:通过JDBC-ODBC方式桥连直接连接:

1、对于这种方式,首先要建立ODBC数据源,我的系统是Win7系统,所以依次选择“控制面板----管理工具----数据源(ODBC)”,打开数据源管理器,如图所示:


2、在“系统DSN”选项卡中,单击“添加”按钮,打开创建数据源对话框,选择Access数据库的驱动程序“Microsoft Access Driver(*.mdb)”如图所示:


3、单击完成按钮,出现如下对话框,在数据源名中输入数据源的名字“JDBC-ODBC”,单击选择按钮,选择要操作的数据库“student.mdb”,单击确定按钮完成数据源的配置。如图所示:


4、数据源配置好了,就可以写获取连接的代码了,如下所示:

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

String url = "jdbc:odbc:JDBC-ODBC";

Connection con = DriverManager.getConnection(url);

以上的三行代码就是通过JDBC-ODBC连接Access数据库的关键代码。这种方式连接可以很方便的记忆连接的url代码,这是很有用的。后面的代码就是正常写了。

方式二:通过数据库所在的绝对路径方式连接

上面说过这里的几种方式都是基于JDBC-ODBC方式。所以加载驱动的Class.forName()中的参数都是“sun.jdbc.odbc.JdbcOdbcDriver”。对于这种方式我将student.mdb文件放在了e盘的根目录下,在使用的时候,直接写上该数据库的绝对路径就行了。获取连接的代码如下所示:

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

String url = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ="+"e://student.mdb ";

Connection con = DriverManager.getConnection(url);

对于这种方式不用配置数据源,虽然代码比较多,但是很好理解的。也是很常用的。

方式三:通过请求来获取数据库的绝对路径方式连接

对于这种方式,我个人认为很适合在Java Web应用中使用,将做好的应用给别人,别人也可以使用。我将该数据库文件放在了Web应用的根路径下。那么动态的获取连接的代码如下所示:

String path = application.getRealPath("/index.jsp");

path = path.substring(0,path.lastIndexOf("\\"))+"\\";

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

String url = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ="+path+"student.mdb ";

Connection con = DriverManager.getConnection(url);

以上便是三种方式获取连接。接下来便是显示的代码了。代码如下所示:

 

学号

姓名

年龄

地址

语文

数学

英语

<%

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

String url = "jdbc:odbc:JDBC-ODBC";

Connection con = DriverManager.getConnection(url);

Statement st = con.createStatement();

String sql = "select * from basic";

ResultSet rs = st.executeQuery(sql);

while(rs.next())

{

%>

<%

}

rs.close();

st.close();

con.close();

%>

运行JSP结果如下所示:


当将连接改为第二种方式的时候还是好使的,JSP代码如下所示:

学号

姓名

年龄

地址

语文

数学

英语

<%

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

String url = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ="+"e://student.mdb ";

Connection con = DriverManager.getConnection(url);

Statement st = con.createStatement();

String sql = "select * from basic";

ResultSet rs = st.executeQuery(sql);

while(rs.next())

{

%>

<%

}

rs.close();

st.close();

con.close();

%>

运行JSP结果如下所示:


当将连接改为第三种方式的时候还是好使的,JSP代码如下所示:

<%@ page language="java" import="java.util.*,java.sql.*" contentType="text/html; charset=UTF-8"

pageEncoding="UTF-8"%>

学号

姓名

年龄

地址

语文

数学

英语

<%

String path = application.getRealPath("/index.jsp");

path = path.substring(0,path.lastIndexOf("\\"))+"\\";

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

String url = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ="+path+"student.mdb ";

Connection con = DriverManager.getConnection(url);

Statement st = con.createStatement();

String sql = "select * from basic";

ResultSet rs = st.executeQuery(sql);

while(rs.next())

{

%>

<%

}

rs.close();

st.close();

con.close();

%>

运行JSP结果如下所示:


对于这种方式我的项目的目录结构如下所示:


从上述的三种方式可以知道,无论使用哪一种都是好使的。



数据库文件数据库文件格式
数据库文件格式是用于存储和管理数据的关键组成部分。常见的数据库文件格式包括CSV(逗号分隔值文件),DAT,WordPerfect合并数据文件,DB(Borland的Paradox 7表),DBC(Microsoft Visual FoxPro数据库容器文件),DBF(dBASE文件),MDB(Access文件),NSF(Lotus Notes数据库),MDF和LDF(SQL Server文件)...

网络语db是什么意思?
网络db是database的缩写,意思是数据库文件。每种软件都有它自己的存放格式,就是数据的排列方式。后缀名均为db。能用记事本、办公软件Microsoft Office Access打开,也能导入到UltraEdit、foxbase、SQL Server、powerbuilder等数据库软件。

传奇魔牛数据库传奇mdb数据库怎么弄呀
1,传奇mdb数据库 怎么弄呀需要的是ACCESS数据库? ACCESS数据库就是 *.mdb格式的.可以把数据导到ACCESS数据库里面再生成相应的文件.2,加载传奇数据库服务器未连接怎么回事DBC2000没有安装.正确方法是,安装DBC2000 安装-打开电脑控制面板-找到BDEaAdminisattror这个图标-打开-右键-NEw-随后出现的提示框...

provider=microsoft.jet.oledb.4.0 这是一个什么的连接数据库字符串
各种数据库连接代码 MS Access数据库连接 用DSN连接并且没有用户名和密码:< set conn = Server.CreateObject("ADODB.Connection")conn.open "YourDSNName"> 用DSN连接并且有用户名和密码:< set conn = Server.CreateObject("ADODB.Connection")conn.open "YourDSNName","...

数据库文件格式是什么
DB表文件,由Borland Paradox 7创建,适用于特定数据库应用。DBC文件,为Microsoft VisualFoxPro数据库容器,可存储复杂数据结构。DBF文件,由Ashton-Tate创建,广泛兼容多种数据库或与数据库相关产品,Excel 97可打开。Oracle 8.1.x表格空间文件,用于大型数据库存储。MDB文件,为Microsoft Access文件,用于...

ASP中用ADO组件连接CONN(ACCESS数据库)的代码
Access Driver]常见错误 不能打开注册表关键字 ''Temporary (volatile)Jet DSN for process 0x728 Thread 0x854 DBC 0x276fb44 Jet''。原因:当你使用ASP连接数据库时可能会出现这种情况,为什么呢?因为您数据库文件所在的目录权限对特定的用户没有开启足够的权限,你只能进行只读访问,一般出现这种情况...

asp连接不上access数据库,请高手帮忙!
按第一种方法,在连接时数据库出现错误:Microsoft OLE DB Provider for ODBC Drivers (0x80004005)[Microsoft][ODBC Microsoft Access Driver]常见错误 不能打开注册表关键字 'Temporary (volatile) Jet DSN for process 0x404 Thread 0x92c DBC 0x16764c4 Jet';按网上搜的帖子处理方法,我把目录的...

关于dbc2000 sql server
二者基本上没任何关系,dbc2000实际上是一个集成了数据库和管理工具的安装包,它的数据库引擎是BDE(Borland Database Engine)宝兰数据引擎的缩写,数据库是Xbase和Paradox(传奇用的数据库就是Paradox),这是一个类似于Access的本地小型数据库。Paradox数据库的详细资料见http:\/\/blog.sina.com.cn\/s\/blog...

请问各位大师:oracle中dbf文件是什么文件?
dbf为一种特殊的文件格式,表示数据库文件,Foxbase,Dbase,Visual FoxPro等数据库处理系统所产生的数据库文件。dbf的文件格式如图所示。常见的数据库文件格式有以下几种:CSV逗号分隔的值文件;DAT数据文件;WrodPerfect合并数据文件;DB Borland的Paradox 7表;DBC Microsoft Visual FoxPro数据库容器文件。

s数据库文件是什么?
数据库文件 顾名思义就是指电脑上储存数据的文件。常见的数据库文件格式有以下几种:1.CSV 逗号分隔的值文件;DAT 数据文件;WrodPerfect合并数据文件;DB Borland的Paradox 7表;DBC Microsoft Visual FoxPro数据库容器文件 DBF dBASE文件,一种由Ashton-Tate创建的格式,可以被ACT!、Lipper、FoxPro、...