今天将一个ASP网站拷贝到64位的Windows7中运行,IIS7安装都没有问题,可就是死活运行不了,总是出现ADODB.Connection错误“800a0e7a”,真是奇怪,之前在XP中运行一点问题都没有的。起初以为是代码上的原因,于是写一段最简单的连接数据库的代码,还是出错,研究半天终于找到了解决方法,拿来分享。
原因是因为在64位Windows7操作系统中,IIS7应用程序池默认没有启用32位应用程序,而我们连接ACCESS数据库的驱动程序Microsoft.Jet.OLEDB.4.0是32位的,所以就出错了,要想正常运行,只需启用32位应用程序即可。方法如下:
1、打开IIS信息服务管理器,在最右边的窗口中点击“查看应用程序池”链接
2、在出现的窗口中点击“设置应用程序池默认设置”链接,在弹出的窗口中将“常规”中的“启用32位应用程序”设置为“True”即可
由上面可以推测到如果有别的错误,也可能是因为32位程序运行在64的程序池造成的,如ISAPI的dll 等如果是32的,也要按上面修改才行,附图: