Java 连接access需要安装和jdk位数相对应的office,然后安装对应位数的access driver(这里最好下载英文版的,之前下载的中文版居然无法安装,不知道什么问题)。
jdk x64 –> office X64 –> access manager X64
jdk x64
office X64
access manager X64
jdk x86 –> office x86 –> access manager x86
jdk x86
office x86
access manager x86
连接代码
package com.cyberdak.util.access; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; import java.util.Properties; import sy.model.access.ReAdd; /** * @author 亢伟楠 * 时间:2015年3月9日下午4:23:48 */ public class AccessDBUtil { static String accessFile = "d:\\a.accdb"; public static void main(String[] args) throws SQLException { getReAddList(); } public static List<ReAdd> getReAddList() throws SQLException{ Connection conn = null; final String sql = "select * from `追加总表`"; ResultSet rs = null; List<ReAdd> list = null; try{ conn = getConnection(); rs = conn.createStatement().executeQuery(sql);; while(rs.next()){ ReAdd reAdd = new ReAdd(); reAdd.setColor(rs.getString("颜色")); System.out.println(reAdd.getColor()); list.add(reAdd); } }finally{ rs.close(); conn.close(); } return list; } public static Connection getConnection() throws SQLException{ Properties prop = new Properties(); prop.put("charSet", "gb2312"); //设置编码防止中文出现乱码 return DriverManager.getConnection("jdbc:odbc:Driver={MicroSoft Access Driver (*.mdb, *.accdb)};DBQ="+accessFile, prop); } }
连接的第二个参数切记要设置,不然连报错信息都是乱码。