ddddddf 发表于 2015-11-3 11:03:52

Windows2008 64位系统asp连接access数据库解决方法

由于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位兼容方式运行。
页: [1]
查看完整版本: Windows2008 64位系统asp连接access数据库解决方法