admin 发表于 2020-7-9 09:01:51

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]
查看完整版本: 64位系统asp连接access数据库解决方法