当前位置: 移动技术网 > 科技>操作系统>windows > 错误:未在本地计算机上注册 Microsoft.ACE.OLEDB.12.0 提供程序

错误:未在本地计算机上注册 Microsoft.ACE.OLEDB.12.0 提供程序

2020年10月09日  | 移动技术网科技  | 我要评论
今天有朋友咨询学习教程里面数据库一章时,当程序运行到 conn.Open 这个位置时产生错误:未在本地计算机上注册 Microsoft.ACE.OLEDB.12.0 提供程序。使用的的连接语句:conn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;data source=D:\lessons\Northwind1.mdb;"刚看到这个错误,我也比较奇怪,因为教程代码都是在我计算机上都是测试通过的。首先问到的情况是,朋友计算机

今天有朋友咨询学习教程里面数据库一章时,当程序运行到 conn.Open 这个位置时产生错误:
未在本地计算机上注册 Microsoft.ACE.OLEDB.12.0 提供程序。


使用的的连接语句:
conn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;data source=D:\lessons\Northwind1.mdb;"

刚看到这个错误,我也比较奇怪,因为教程代码都是在我计算机上都是测试通过的。
首先问到的情况是,朋友计算机使用的是office access2016的版本,我的计算机上使用的是2010的版本,初步推测是因为版本问题,网上初步搜索的结果是office 2013对应为 Microsoft.ACE.OLEDB.14.0 ,office 2016对应为 Microsoft.ACE.OLEDB.16.0 。于是显示请他按照这个修改了ConnectionString语句。
但是还是错误。
这次,我仔细搜索了一下,发现不管office 2013还是office 2016,都应该使用Microsoft.ACE.OLEDB.12.0。
于是我就远程看了一下朋友的计算机。发现系统用的64位,office也是64位,将vb.net编辑器下的cpu修改为X64,就运行正确了。
其实在教程《Visual Basic.Net 循序渐进》第19章 数据库操作 第19.3.1节《连接字符串》一节有写开发32位程序和64位程序时候的连接语句不一样,但是忘了写还要与数据库引擎32位还是64位配套,如果64位的数据库引擎(office 64位)那么别忘了开发的程序也需要设置为使用64位CPU。

特此记下防止忘记。

本文地址:https://blog.csdn.net/UruseiBest/article/details/108987861

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网