公告:

64位操作系统不能正常运行asp程序的解决办法

作者:star0312 / 时间:13年前 (2012/12/04) / 分类:系统应用 / 阅读:921 / 评论:0

其实这个问题还有如下几种问法:


  1. ADODB.Connection错误'800a0e7a'解决方法

  2. 64位操作系统下下IIS 6.0/7.0/7.5/8.0 设置支持32位模式

  3. 64位操作系统不能正常运行asp程序的解决办法


今天第一次在64位的windows8环境下调试调试asp程序,遇到了一个如下错误:

"ADODB.Connection 错误 '800a0e7a'
未找到提供程序。该程序可能未正确安装。"


以前在windows 2008 X64环境下遇到过这个问题,是需要将IIS的应用程序池开启32位应用程序支持就可以。

具体设置路径为:IIS管理器-应用程序池-DefaultAppPool(我用的是默认程序池,您需要选择您使用的程序池)-高级设置

64位操作系统不能正常运行asp程序的解决办法


IIS 6.0 可支持 32 位和 64 位两种模式。但是,IIS 6.0 不支持在 64 位版本的 Windows 上同时运行这两种模式。ASP.NET 1.1 只在 32 位模式下运行。而 ASP.NET 2.0 在 32 位或 64 位模式下都可以运行。因此,如果想要同时运行 ASP.NET 1.1 和 ASP.NET 2.0,必须在 32 位模式下运行 IIS。

要在 ASP.NET 的不同版本之间切换,请访问以下 Microsoft Developer Network (MSDN) 网站以下载并安装 ASP.NET 1.1 和 ASP.NET 2.0:

http://msdn2.microsoft.com/en-us/netframework/aa731542.aspx (http://msdn2.microsoft.com/en-us/netframework/aa731542.aspx)

例如,如果您正在运行 Microsoft Windows x64 Edition,请下载以下两种可再发行组件包:

  • .NET Framework 版本 2.0 可再发行组件包 x64(64 位)

  • .NET Framework 版本 1.1 可再发行组件包

安装可再发行组件包后,您就可以在 ASP.NET 的不同版本之间切换了。为此,应对每个 ASP.NET 版本完成以下操作步骤:

ASP.NET 1.1,32 位版本

要运行 64 位版本的 ASP.NET 2.0,请按照以下步骤操作:

  1. 单击“开始”,单击“运行”,键入 cmd,然后单击“确定”。

  2. 键入以下命令禁用 32 位模式:

    cscript %SYSTEMDRIVE%/inetpub/adminscripts/adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 0


  3. 键入以下命令,安装 ASP.NET 2.0 版本并在 IIS 根目录下安装脚本映射:

    %SYSTEMROOT%/Microsoft.NET/Framework64/v2.0.40607/aspnet_regiis.exe -i


  4. 确保在 Internet 信息服务管理器的 Web 服务扩展列表中,将 ASP.NET 版本 2.0.40607 的状态设置为允许

注意:ASP.NET 2.0 的内部版本可能随当前发行的内部版本的变化而变化。这些步骤适用于内部版本 2.0.40607。

--------------------------------------------------

刚刚在Windows 2008  64-bit IIS7.0下测试过,要使IIS7.0在64位下支持32位的应用程序,只需要设置应用程序池中“启动32位应用程序”为true就行了。早就想MS不会这么蠢的。


另外有一篇关于解决ADODB.Connection错误'800a0e7a'错误提示的:


ADODB.Connection错误'800a0e7a'解决方法


最近升级了下OFFICE,从2003到2010,然后是更新了下ISAPI_Rewrite由LITE版本升级到了FULL版,然后部分网站就出现了数据库连接错误,错误提示如下:


ADODB.Connection 错误 '800a0e7a'

未找到提供程序。该程序可能未正确安装。


然后百度发现要么是修改下连接ACCESS数据库的连接代码,要么是IIS7.0需要兼容64位程序等,找了多种方案,最后仍然没有解决办法,最后在微软论坛上面说要重装MDAC(或者重新注册MSDASQL.dll),微软官方解决方案链接:http://support.microsoft.com/?id=191271


到此问题好像已经有头绪可以解决了,但是找遍官网所有的MDAC下载链接:http://msdn.microsoft.com/en-us/data/aa937730 要么是安装不了,说操作系统不支持,要么是装好问题未解决。最后看了下这些MDAC的更新说明,都是2003年左右的,连最新的MDAC 2.8 SP1(Microsoft Data Access Components 2.8 SP1)也是2005年的,最后在处说明找到重新安装MDAC的说明:server2003系统MDAC存在于Service Pack里面,然后就抱着一线希望试了试,终于问题解决了,方法如下:


首先在C:\WINDOWS\inf里面找到mdac.inf,然后下载SP2,双击SP2安装,这时会先解压释放文件,我的是在d:\29751effd74a58bb182b文件夹里面,把这个文件夹备份一下,SERVER2003系统盘准备一下,准备好了就开始安装mdac.inf,右击选择安装就行了,安装中依次提示选择文件,第一次是SP2里面的,第二次是系统里面的文件,选择好后过会安装完成。最后注册安装组件,REGSVR32 "C:\Program Files\Common Files\System\Ole DB\MSDASQL.DLL",重启IIS,问题解决。。



  • 我的QQ二维码
  • QQ群
  • 我的微信二维码
  • 微信公众号

没有评论,留下你的印记,证明你来过。


发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。