备忘录

记录点滴技术

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

由于Win R2 是64位系统。在用IIS测试ASP网站时,连接数据库代码总是不成功。
        "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.mappath(db) 用这种方式时返回“3706错误值

"Driver=Microsoft Access Driver (*.mdb);DBQ="&Server.MapPath(db) 用这种方式时返回“-2147467259”错误值。

因为Win2008 R2 是64位操作系統。而64位操作系统不支持Microsoft OLE DB Provider for Jet驱动程序,也不支持更早的Microsoft Access Driver (*.mdb)方式连接。所以用于 Access 和 Excel 数据库的 Microsoft OLE DB Provider for Jet 在 64 位版本中不可用,也就是说,如下两种连接字符串都已经无法正常工作了:

"Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.mappath(db)。

"driver=Microsoft Access Driver (*.mdb);DBQ="&Server.MapPath(db)。

        要解決这问题,只有让IIS环境设置成32位。IIS的版本不一样处理起来也会不一样。下面就分别对IIS7和IIS6处理作说明。

        一.IIS7处理起来很简单,具体步骤如下:

        在IIS7下选择“应用程序池”,右击对应站点的应用程序池,“启用32位应用程序”设置为“True”即可。

         

       二.IIS6处理,具体步骤如下:

1.在命令行输入:

cscript.exe %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1

2.重新注册.NET FrameWorks.

%SYSTEMROOT%\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -i

3. 完成之后,应该会看到多出一个32位的asp.net,将其设置为允许,缺点:这样会使整个IIS上的所有站点都以32位兼容方式运行。


原文地址:http://blog.xinpop.cn/forum.php?mod=viewthread&tid=72

posted on 2011-09-13 22:51  goding  阅读(1250)  评论(0编辑  收藏  举报