64位操作系统IIS7,之前IIS一直很正常,前几天忽然所有程序池自动停掉,然后尝试重启系统和重新安装iis都不能恢复,后来将默认应用程序池设置中的“启用32位应用程序”关闭后,终于程序池可以启用了。php网站可以正常访问,但访问asp连接数据库页面会报错。

问题主要表现为:

A情况:IIS应用程序池开启“启用32位应用程序”时,访问asp连接数据库的页面就会自动关闭程序池。系统日志记录为“应用程序池xxx已启用 32 位工作进程,但未找到 SysWOW64 支持。Windows Process Activation Service (WAS)将禁用此应用程序池。要解决此问题,请禁用以 32 位工作进程运行,或者请安装 SysWOW64 支持。数据字段包含错误号。” 

B情况:IIS应用程序池关闭“启用32位应用程序”时,访问ASP连接数据库的页面就会报错“ADODB.Connection 错误 '800a0e7a'” 

搜索了很多方法,最后只有这个才有效,如下:

1.下载驱动 ACE2010的驱动,下载安装64位的驱动即可
http://www.microsoft.com/downloads/zh-cn/details.aspx?familyid=c06b8369-60dd-4b64-a44b-84b371ede16d

2.将所有ASP连接ACCESS数据库代码中的Microsoft.Jet.OLEDB.4.0 改成Microsoft.ACE.OLEDB.12.0