[驱动] linux下连接access数据库问题

Fire花生 2015-09-01
Linux现在是否有连接access的驱动,网上下载的jdbc,都是有限制的,最多只能查一千条数据而且有访问次数限制,只能访问50次。请问是否还有别的办法,在Linux连接access数据库。
simen_net 2015-09-02
http://jackcess.sourceforge.net/
跨平台,我已经用到实际项目
ahack 2015-09-03
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


下载地址:http://pan.baidu.com/s/1dDgXV4d

连接方式如下:
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);
        }
    }
 
}
Global site tag (gtag.js) - Google Analytics