XP x64 Access Database connection with ACE.OLEDB

在XP 64位系统中,使用ADO编程连接Access mdb数据库时,传统的Jet引擎无法工作。微软提供了64位的ACE.OLEDB引擎,通过修改连接字符串为"Provider=Microsoft.ACE.OLEDB.12.0",问题得以解决。文章提到了微软下载页面给出的14.0版本与实际应用中12.0版本的差异,并指出该引擎与32位Office 2007可能存在安装冲突。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

       最近工作中遇到一个问题,在XP 64位操作系统下,Access mdb数据库连接,用ADO编程,采用原来的"Provider=Microsoft.Jet.OLEDB.4.0;连接方式,居然提示找不到驱动。

       在网上一番搜索,大概的结论是,微软没有出64位版本的jet引擎,xp64下默认只有sqlserver的64位引擎,因此原来的连接方式行不通了。问题是mdb数据库的应用范围这么广,很多本地桌面程序都用这个,64位系统微软会不再支持,感觉还是不靠谱的。又是一顿乱搜,在一位台北老兄的博客看到了线索,原来今年3月份微软发布了新的 ACE.OLEDB 引擎,好像是给office 2010使用的,具体也没有细研究,下载后,还是采用ADO编程,连接字符串改用 "Provider=Microsoft.ACE.OLEDB.12.0” ,问题Ok了!

 

       附带几个链接,

       1.这个页面关于这个问题讨论的比较细,但是是2006的问题,最后也没有给出好的解决方案,只能不把应用程序编译位x64的。

       http://www.velocityreviews.com/forums/t491770-microsoft-jet-oledb-4-0-on-windowsxp-64-bit-edition.html

       2.这是台北这位仁兄的博客

       http://www.dotblogs.com.tw/okawari/archive/2010/11/16/19483.aspx

       3.ACE.OLEDB引擎的下载页面

       http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=c06b8369-60dd-4b64-a44b-84b371ede16d

 

 

       几个还需要进一步研究的问题:

       1. 不知道为什么,微软下载页面给的连接字符串是 "Provider=Microsoft.ACE.OLEDB.14.0",但我试了只能用 "Provider=Microsoft.ACE.OLEDB.12.0” 这个才好使。

       2.装一个引擎的64位版本,和32位的office2007貌似有冲突,安装的时候如果已经在64位系统上装了32位版本的office2007,会提示要先卸载之,卸载后,安装顺利,之后又重新装了office2007 32,使用中也没有发现什么异常的。

      

  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值