建站知识
发布时间:2018-09-30
在Windows 7系统上运行ASP网站时,遭遇ADODB.Connection错误800a0e7a(Provider not found,提供程序未找到)是一个较为常见的问题。这通常是由于Access数据库驱动(OLEDB Provider for Access)的版本或配置不匹配引起的。
一、错误原因分析
错误代码800a0e7a对应的英文提示通常是:Provider cannot be found. It may not be properly installed.(提供程序未找到,可能未正确安装。)
在64位Windows 7系统上,当IIS以64位应用程序池运行时,而所安装的Access数据库驱动(Microsoft.Jet.OLEDB.4.0)只有32位版本时,就会出现这个错误,因为64位应用无法直接调用32位驱动。
二、解决方案一:将应用程序池改为32位运行
这是简单的解决方法。操作步骤:打开IIS管理器,找到网站使用的应用程序池,右键选择高级设置,将启用32位应用程序(Enable 32-Bit Applications)设置为True,然后重启IIS。此操作让IIS以32位模式运行,可以兼容32位的Access OLEDB驱动。
三、解决方案二:安装64位的Access数据库驱动
微软提供了Microsoft Access Database Engine(AccessDatabaseEngine.exe),其中包含64位版本的Access OLEDB驱动。下载对应版本安装后,IIS的64位应用程序池即可使用Access数据库。
四、解决方案三:迁移到MySQL数据库
Access数据库在并发性、容量限制和稳定性上存在先天不足,如果网站有一定访问量,建议将数据库迁移到MySQL。这虽然需要修改数据库连接代码,但从长远来看是更稳定可靠的方案。
五、修改连接字符串
如果使用方案二中的64位驱动,连接字符串需要从Microsoft.Jet.OLEDB.4.0改为Microsoft.ACE.OLEDB.12.0,例如:Provider=Microsoft.ACE.OLEDB.12.0;Data Source=数据库路径。以上三种方案可以根据实际情况选择,其中方案一操作简单,是多数情况下的常用处理方式。
贴心的售后服务,专业的后台培训
安全、稳定、让合作更有保障
详细报价单,不弄虚作假
十年以上建站经验,重合同讲信誉