日期:2014-05-16 浏览次数:20406 次
系统:64位win7 java:64位
若想odbc数据源方式连接,则ODBC必须是64位的,因为你java已经是64的了,使用C:\Windows\System32\odbcad32.exe的32位ODBC纵然能添加消失的mdb等数据源,添加后也是不能用的。
所以想连接上mdb的话,就写了原来的office安装64的吧(顺便尝了下office2013的鲜,那货快多了……)
然后是连接。
使用jdbcodbc桥连接:
String urlAccess="jdbc:odbc:XXX"; //XXX为数据源名字
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection conn=DriverManager.getConnection(urlAccess,"","");
String strConnect ="jdbc:odbc:DRIVER=Microsoft Access Driver (*.mdb, *.accdb);DBQ=E:\\java\\eclipse\\workspace\\Identify\\AreaCode.mdb";
Connection conn=DriverManager.getConnection(strConnect,"","");
1.使用./表示mdb位于根目录以下
String strConnect ="jdbc:odbc:DRIVER=Microsoft Access Driver (*.mdb, *.accdb);DBQ=./AreaCode.mdb";
String strConnect ="jdbc:odbc:DRIVER=Microsoft Access Driver (*.mdb, *.accdb);DBQ="+getPath()+"AreaCode.mdb";
private static String getPath(){
String path;
path = Identify.class.getResource("").getPath();// 获得classes的类路径
path = path.substring(1);//mdb位于.class同级目录,可自行截取字段调整
return path;
}