64位win7 jdbc连接access总结


用jdbc连接mdb文件,小小的问题纠结了我好久,查了诸多资料才弄好。。所以必须记下来

系统: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,"","");

直接jdbc连接mdb文件:

String strConnect ="jdbc:odbc:DRIVER=Microsoft Access Driver (*.mdb, *.accdb);DBQ=E:\\java\\eclipse\\workspace\\Identify\\AreaCode.mdb";
Connection conn=DriverManager.getConnection(strConnect,"","");

直接使用jdbc连接mdb文件时最方便的,不用配置odbc,但mdb取绝对路径也是一个问题。解决方案如下:

1.使用./表示mdb位于根目录以下

String strConnect ="jdbc:odbc:DRIVER=Microsoft Access Driver (*.mdb, *.accdb);DBQ=./AreaCode.mdb";

2.添加getPah()方法获得classes路径

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


  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值