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

来源:互联网 发布:高保真播放软件 编辑:程序博客网 时间:2024/05/01 20:53
 由于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位兼容方式运行。