因为64位操作系统不支持Microsoft OLE DB Provider for Jet驱动程序,也不支持更早的Microsoft Access Driver (*.mdb)方式连接;所以用于 Access 和 Excel 数据库的 Microsoft OLE DB Provider for Jet 在 64 位版本中是不可用的。(32位和64位的邮件服务器的区别)
Windows 64位操作系统,当IIS测试ASP网站时,连接数据库代码失败(如图 1‑1)。
图 1‑1
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\DBMail\data\mail\access|dap.mdb 用这种方式时返回“3706”错误值。
"Driver=Microsoft Access Driver (*.mdb);DBQ="&Server.MapPath(db) 用这种方式时返回“-2147467259”错误值。
要解決这个问题,必须把IIS环境设置成32位。IIS的版本不一样处理起来也会不一样,下面分别对IIS6和IIS7的处理作说明。
Access + IIS6
1) 在命令行输入:
cscript.exe%SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbsSETW3SVC/AppPools/Enable32bitAppOnWin64 1
2) 重新注册.NET FrameWorks.
%SYSTEMROOT%\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -i
3) 完成之后,在IIS中会看到一个32位的asp.net,将其设置为允许;注意:这样操作会使整个IIS上的所有站点都以32位兼容方式运行。
Access + IIS7(启用32位模式)
如果您是在Windows 64位操作系统上使用Access数据库,并且要用到Webmail,则IIS需要启用32位应用程序模式。
步骤如下:
1) 进入IIS后,单击“应用程序池”,在窗体右侧再单击“设置应用程序池默认设置”(如图 1‑2)。
图 1‑2
2) 将弹出来“应用程序池默认设置”对话框,在“启用32位应用程序”组合框中选择“True”后,单击“确定”按钮(如图 1‑3)。
图 1‑3
选择“IIS6管理兼容性”
DBMail可以运行在64位的Windows平台上,注意64位Windows需要安装64位版本的SQL Server以及SQL Server企业管理器。另外,对于Webmail在64位Windows上运行注意事项:
1) 注意安装IIS组件时选中“IIS6兼容性”。
2) 在安装Windows IIS组件时,请注意选中“IIS6兼容性”,如果选中了,则DBMail可以自动化地帮您配置好Webmail在IIS中的站点。不然的话,需要您手工地在IIS中为创建一个名称为“mail”的应用程序(如图 1‑4)。
图 1‑4