用下面的代码试试 (强烈建议也是only可以建议的方法)
con = DriverManager.getConnection("jdbc:odbc:Driver={MicroSoft Access Driver (*.mdb)}DBQ=C:/data/Access/test1.mdb","dba","sql")
后面的代码一样。这样你就可以访问access数据库了。
JDBC连接Access第二种方法:
用sun的jdbcodbc桥,数据源(个人主页不适用)
JDBC连接Access第三种方法:
对于设置与Windows下的JSP服务器,且系统较小时,使用Access是一个比较好的选择,但是要使用Access数据库一般要通过数据源。这里提供一种不用使用数据源用Java直接连接数据源的方法。例子程序如下:
import java.sql.*public class Access { public static void main(String args[]) { try { String strurl="jdbc:odbc:driver={Microsoft Access Driver (*.mdb)}DBQ=books.mdb"Class.forName("sun.jdbc.odbc.JdbcOdbcDriver")Connection conn=DriverManager.getConnection(strurl) Statement stmt=conn.createStatement()ResultSet rs=stmt.executeQuery("select * from books")if(rs.next()) { System.out.println(rs.getString("简介"))} }catch(Exception e) { System.out.println(e)} } }
可以看到只要在driver后面加上ODBC驱动即可不用设置数据源,这种方法对其他小型数据库(如forpro)应该也适用。
方式一:通过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)
JDBC连接Access数据库的几种方式介绍
作者: 字体:[增加 减小] 类型:转载 时间:2013-05-25
我要评论
前几天老师让作几个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)
以上便是三种方式获取连接。接下来便是显示的代码了。代码如下所示:
<%@ page language="java" import="java.util.*,java.sql.*"
contentType="text/htmlcharset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Access</title>
</head>
<body>
<table border="1" width="40%">
<tr bgcolor="gray">
<th>学号</th>
<th>姓名</th>
<th>年龄</th>
<th>地址</th>
<th>语文</th>
<th>数学</th>
<th>英语</th>
</tr>
<%
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())
{
%>
<tr>
<td><%=rs.getString(1) %></td>
<td><%=rs.getString(2) %></td>
<td><%=rs.getInt(3) %></td>
<td><%=rs.getString(4) %></td>
<td><%=rs.getInt(5) %></td>
<td><%=rs.getInt(6) %></td>
<td><%=rs.getInt(7) %></td>
</tr>
<%
}
rs.close()
st.close()
con.close()
%>
</table>
</body>
</html>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)