关于JDBC 连接Access 数据库
************连接方式(一)Access_JDBC30.jar,此包由于是免费的,所有限制连接单次不超过50*************************
Connection conn = null;
PreparedStatement stat = null;
ResultSet rs=null;
//连接数据库(添加access数据库的驱动jar包:Access_JDBC30.jar)
public Connection openConn() {
try {
//这种方法连接access不需要access的驱动jar包Access_JDBC30.jar
//String url = "JDBC:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=D:/eclipse/project/jee/workspace/jubweb2/src/message.mdb";
//Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
//这种方法连接access需要access的驱动jar包Access_JDBC30.jar
String url="jdbc:access:/D:/eclipse/project/jee/workspace/jubweb2/src/message.mdb";//不支持相对路径
Class.forName("com.hxtt.sql.access.AccessDriver").newInstance();
Connection conn = DriverManager.getConnection(url);
return conn;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
//关闭数据库
public void closeConn() {
try {
if (rs != null) {
rs.close();
}
if (ps != null) {
ps.close();
}
if (conn != null) {
conn.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}
//添加
public String addMessage(Yjfk yjfk) {
conn =openConn();
try {
String sql = "insert into message values(?,?,?,?,?,?)";
stat =openConn().prepareStatement(sql);
stat.setString(1, UUID.randomUUID().toString());
stat.setString(2, yjfk.getContent());
stat.setString(3, yjfk.getCtype());
stat.setString(4, yjfk.getName());
stat.setString(5, yjfk.getEmail());
stat.setString(6, yjfk.getPhone());
stat.executeUpdate();
return "success";
} catch (Exception e) {
e.printStackTrace();
} finally {
closeConn();
}
return "error";
}
//查询
public List<Yjfk> qryMessage() throws SQLException{
String sql = " select * from message ";
stat = openConn().prepareStatement(sql);
rs=stat.executeQuery();
while (rs.next()) {
System.out.println(rs.getString("content"));
}
closeConn();
return null;
}
************连接方式(二)JDBC-ODBC,jdk自带连接驱动,无需jar,但是需要配置本地电脑环境*************************
package com.qgc.tool;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import org.apache.commons.dbcp.BasicDataSource;
/**
* 使用abcp连接池
* @author admin
*所需JAR包:commons-pool-1.6.jar、commons-collections-3.2.1.jar、commons-dbcp-1.4.jar
*
*/
public class Dbcp_Jdbc_odbc {
private static final int INITIAL = 50;//初始化50个连接
private static final int MAX_ACTIVE = 500;//最大值500个连接
private static final int MAX_IDLE = 10;//最大空闲10
private static final long MAX_WAIT = 2 * 1000;//超过500个访问,等待的时间
private static final String DRIVER_NAME = "sun.jdbc.odbc.JdbcOdbcDriver";
private static BasicDataSource bds;
static{
if(bds == null){
bds = new BasicDataSource();
}
bds.setDriverClassName(DRIVER_NAME);
bds.setInitialSize(INITIAL);
bds.setMaxActive(MAX_ACTIVE);
bds.setMaxIdle(MAX_IDLE);
bds.setMaxWait(MAX_WAIT);
}
/**
* 打开连接池
* @param path 数据库的路径
* @return
* @throws SQLException
*/
public static Connection getSqliteConnection(String path) throws SQLException{
if(path==null){
path="qqData";
}
/*qqData: 配置方式:控制面板->管理工具->ODBC->系统DSN->添加 Microsoft Access Driver(*.mdb)
数据源名:sun (这个与你写的jdbc:odbc:sun对应)
选择->你建的*.mdb的位置
确定就可以用了
*/
String url = "jdbc:odbc:"+path; //myDS 数据源名称;
bds.setUrl(url);//数据库的路径
return bds.getConnection();
}
/**
* 释放数据库连接
*
* @param rs
* @param st
* @param conn
*/
public static void freeConnection(ResultSet rs, Statement st,
Connection conn) {
try {
if (rs != null)
rs.close();
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
if (st != null)
st.close();
} catch (SQLException e) {
e.printStackTrace();
} finally {
if (conn != null)
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
}
关于JDBC 连接Access 数据库的更多相关文章
- Java Web项目中连接Access数据库的配置方法
本文是对前几天的"JDBC连接Access数据库的几种方式"这篇的升级.因为在做一些小项目的时候遇到的问题,因此才决定写这篇博客的.昨天已经将博客公布了.可是后来经过一些验证有点问 ...
- Java连接Access数据库的那些坑
Java 使用 JDBC 连接Access数据库 需要掌握的技能 1.Java SE基本技术 2.懂点JDBC技术 能够学到如何使用Java正确的连接JDBC 环境 window8.1 64位 jdk ...
- JDBC连接各种数据库的方法(经典)
1)连接Oracle 8/8i/9i/10g/11g(thin模式) Class.forName("oracle.JDBC.driver.OracleDriver").newIns ...
- JSP连接access数据库
一个用jsp连接Access数据库的代码. 要正确的使用这段代码,你需要首先在Access数据库里创建一username表,表里面创建两个字符型的字段,字段名分别为:uid,pwd,然后插入几条测试数 ...
- JDBC连接各种数据库的方法,连接MySql,Oracle数据库
JDBC连接各种数据库的方法: JDBC编程步骤: 1.导入jar包 2.注册驱动 3.获取数据库连接对象 4.定义SQL语句 5.获得执行SQL语句对象statemnet 6.执行SQL语句 7.处 ...
- java远程连接access数据库
本文转载自http://www.voidcn.com/article/p-tlrtkqlp-k.html 1 rmijdbc远程连接access数据库 正常情况下,常用的数据库sql server, ...
- 【.net 深呼吸】连接Access数据库应注意的几点
本地数据库可以有Y种选择,比如Sqlite.SQL Server Express.SQL Local DB.SQL Server CE.Access等,本文老周选用比较著名的Access本地数据库,在 ...
- JDBC连接MySQL数据库代码模板
下面这个例子是最简单的JDBC连接MySQL数据库的例子. 一般步骤: 1.注册驱动: 2.建立连接: 3.创建语句: 4.处理结果: 5.释放资源. 注意: 1.软件开发环境:MyEclipse 8 ...
- C#连接Access数据库(详解)
做一个用VS2012的C#连接Access数据库的备忘, SQL数据库固然强大,有大微软的强力技术支持,LINQ的方便操作,但是如果写一个小程序对数据库方面没有什么大的要求的话,将来在数据库方面就可以 ...
随机推荐
- AIX LVM 常用命令记录
针对物理卷的操作指令 lsdev--列出ODM中的设备 chdev--修改一个AIX设备的属性 mkdev--创建一个AIX设备 chpv--修改物理卷的状态和属性 lspv--查看AIX中物理卷的相 ...
- Android下实现tab页个人比较推崇的方法
使用fragment实现tab页的效果: 三个页面是单独的三个Fragment 主Activity的实现: package com.hsx.tab; import android.os.Bundle; ...
- Solr单机部署和集群部署
用到的相关jar包:http://pan.baidu.com/disk/home#list/path=%2Fsolr Solr目录结构 Solr 目录 Contrib :solr 为了增强自身的功能, ...
- 如何正确选择MySQL数据列类型
MySQL数据列类型选择是在我们设计表的时候经常会遇到的问题,下面就教您如何正确选择MySQL数据列类型,供您参考学习. 选择正确的数据列类型能大大提高数据库的性能和使数据库具有高扩展性.在选择MyS ...
- 将数据库中的表注册到K2服务中,并封装为Smart Object
转:http://www.cnblogs.com/dannyli/archive/2011/08/15/2139550.html K2 blackpearl项目中经常需要将其他数据中的表注册到K2服务 ...
- 使用git自动将子工程发布到百度开放云上
我的项目中包含多个子工程,如web工程.python工程等.我在项目的根目录下建立了git管理,因此如果使用git push只能把整个项目推送上去,但我只想推送web工程目录.因此,编写了cmd脚本如 ...
- python定义影像投影
import os import arcgisscripting gp=arcgisscripting.create() coordsys=r"C:\Winx86\ArcGIS\Coordi ...
- size_type、size_t、differentce_type以及ptrdiff_t
目录(?)[-] size_type size_t different_type ptrdiff_t size_t是unsigned类型,用于指明数组长度或下标,它必须是一个正数,std::siz ...
- cocoa NSFileManager
NSFileManager中包含了用来查询单词库目录.创建.重命名.删除目录以及获取/设置文件属性的方法(可读性,可编写性等等). 每个程序都会有它自己的沙盒,通过它你可以阅读/编写文件.写入沙盒的文 ...
- nagios-解决监控页面上的乱码
1. 前景 在nagios的监控页面上发现返回来的信息为乱码,如下图所示: 查看相关日志,发现正常显示汉字,如下: 2. 解决方法(以下两个步骤缺一不可) 主要原因分析如下: 在nagios服务器上发 ...