UCanAccess连接Access数据库
Access_JDBC30是跨平台连接access最适合的jar但收费非常的贵,Access_JDBC30的免费版有查询50次、数据小于1000的限制。UCanAccess也提供了数据连接功能,可以比较方便的读写access数据库。UCanAccess自身依赖几个jar包,比如核心的:jackcess-2.0.6.jar ,Jackcess 是一个Java 类库,用来读写微软的Access 数据库。如果设置了hsqldb,那么将会在内存中加载. 默认=true.
快速入门:http://ucanaccess.sourceforge.net/site.html
依赖包:
commons-lang-2.6.jar commons-logging-1.1.1.jar hsqldb.jar jackcess-2.0.6.jar ucanaccess-2.0.9.2.jar
下载地址:UCanAccess-2.0.9.2-bin.zip
连接方式如下:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.logging.Level;
import java.util.logging.Logger;
/**
*
* @author yz
*/
public class TestAccessMDB {
public static void main(String[] args) {
try {
Class.forName("net.ucanaccess.jdbc.UcanaccessDriver");
String pwd = new String(new byte[]{(byte) 0xc3,(byte) 0xdc,0x0d,0x09,0x0a,(byte) 0xc2,(byte) 0xeb,0x02},"GBK");
Connection conn = DriverManager.getConnection("jdbc:ucanaccess:///Users/yz/db.mdb","",pwd);
Statement s = conn.createStatement();
ResultSet rs = s.executeQuery("SELECT * FROM site");
while (rs.next()) {
System.out.println(rs.getObject(6));
}
} catch (Exception ex) {
Logger.getLogger(TestAccessMDB.class.getName()).log(Level.SEVERE, null, ex);
}
}
}