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); } } }