出现错误:ADODB.Connection 错误 '800a0e7a'
未找到提供程序。该程序可能未正确安装。
我的连接字符串是 ConnStr = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source = " & Server.MapPath(mdbfile)
有点怪哦~因为我知道windows2000以来,应该是已经安装好ado驱动的,使用OLEDB4.0肯定应该没问题。为什么xp不行呢?
(事后补充:上网查了一下,发现许多人都遇到同样问题,好多贴子写着“跪求”、“急问”等字样,回答的人不是说装mdac就是说装office或sqlserver客户端,还有一个人提到修改C:\WINDOWS\WinSxS文件夹的Users权限。但后面的努力证明,这些方法都没有效果。)
没关系,我找到delphi7.0安装盘上的mdac2.7的安装程序装了一遍,还是同样错误。奇怪啊奇怪。
使用自己写的一个测试ado驱动的小工具adohelper.exe查了一下,发现果然在ado驱动列表中,没有oledb4.0这一项。
没关系。大不了装一遍office2003罗。耐着性子装完,重启。再次打开网页之前,我检查了一下,不好,还是没有那个驱动。果然,网页依然报同样错误。
这下麻烦了。难道要我装一个windows2003吗?已经半夜了,明天就用,装个系统怎么着也得一个多小时吧。。。
不甘心。
解决方法一
运行regedit,查找“Microsoft.Jet.OLEDB.4.0”。来到HKEY_CLASSES_ROOT\CLSID\{dee35070-506b-11cf-b1aa-00aa00b8de95}下面,有个分枝InprocServer32,内容居然就是:C:\WINDOWS\system32\msjetoledb40.dll。
难道是它吗?试一下吧。复制这个文件到有问题的电脑中,运行
regsvr32 C:\WINDOWS\system32\msjetoledb40.dll
解决方法二
重新安装一下MDAC 2.8
并注册一下REGSVR32 "C:\Program Files\Common Files\System\ole db\MSDASQL.DLL
如果是XP SP2,不能重新安装MDAC 2.8
这样就找个灰色按钮客星2.1,就可以安装,安装完后重启电脑
0x800A0E7A
卸载了几个程序,然后对自己的程序进行调试的时候发现数据库连接失败,出现0x800A0E7A错误。肯定是某些组件刚才被卸载掉了,于是上网搜索了一番。很多帖子都说是sqloledb.dll 需要重新注册,于是注册掉。结果还是不行。后来发现还有个动态库需要注册那就是oledb32.dll。把这两个都注册了,再试了下自己的程序,OK了。
regsvr32 "C:/Program Files/Common Files/System/Ole DB/oledb32.dll"
regsvr32 "C:/Program Files/Common Files/System/Ole DB/sqloledb.dll"
0x80040154
同样是卸载了一些程序,结果ADO都初始化不了,唉,就是msado15.dll 又被注销了。重新注册下吧
regsvr32 "C:/Program Files/Common Files/System/ado/msado15.dll"
地址: 江苏省常州市
QQ: 79232781
联系人: DIS工作室
电话: 13585315012
邮箱: disstudio@yeah.net
Copyright ©2008-2026 DIS工作室 All Rights Reserved.地址: 江苏省常州市
联系人: DIS工作室  电话: 13585315012  QQ: 79232781  邮箱: disstudio@yeah.net