今天找了台windows2008 server版的服务器玩了下,遇到无法访问asp和mdb数据库的问题:解决如下
1. 让IIS7支持ASP
Windows server 2008中IIS7是默认不安装的,所以在安装完Windows server 2008之后如果需要安装IIS7的话,就要自己动手了。安装的步骤为:开始》控制面板》程序》打开或关闭Windows功能》Internet信息服 务(以前操作系统版本里面的”Windows components” 在server 2008里面叫做”Programs and Features”)。IIS7安装时需要注意的是,如果需要ASP、ASP.NET等的支持,是需要把功能模块给装上的,默认是不安装的。
2. 解决IIS7中.mdb数据库问题。
默认装完IIS7之后,使用ASP程序会发现提示数据库连接失败,在网上找了找,说是因为MS Jet引擎改变了临时目录的位置,但是又没有对临时的存取权限,导致数据库使用失败。
给“系统盘:/Windows/ServiceProfiles/NetworkService/AppData/Local/Temp”目录添加 一个“Authenticated Users”的用户,其中AppData目录是隐藏的,在进入的时候可以直接在地址栏输入路径,或者在文件夹选项里显示隐藏文件。该项尤其重要,不设置则一直提示microsoft jet database engine 80004005 错误。
设置权限步骤:右击Temp文件夹,选择“属性”》选择“安全”选项卡》单击“编辑”》出来“Temp 的权限”对话框,单击“添加”,在下面的“输入对象名称来选择”中输入Authenticated Users,确定》返回到“Temp 的权限”,将Authenticated Users的权限中的完全控制给勾上,确定》确定。
链接方式:
ServerPath=Server.MapPath(“/xxx.mdb”) connstr=”Provider=Microsoft.Jet.OLEDB.4.0;Data Source=” & ServerPath Set schooldb=Server.CreateObject(“Adodb.Connection”) schooldb.Open connstr
Microsoft JET Database Engine 错误 ‘80040e09’ 这个提示是因为文件权限问题导致的,选择对应用户写入权限即可!
3. windows 2008 64位系统解决IIS7中.mdb数据库问题。
如果你使用64位系统,那可能如上办法也解决不了,原因是在64位Windows8操作系统中,IIS7.5应用程序池默认没有启用32位应用程序,而我们连接ACCESS数据库的驱动程序Microsoft.Jet.OLEDB.4.0是32位的,所以就出错了,要想正常运行,只需启用32位应用程序即可。方法如下:
1、打开IIS信息服务管理器,在最右边的窗口中点击“查看应用程序池”链接
2、在出现的窗口中点击“设置应用程序池默认设置”链接,在弹出的窗口中将“常规”中的“启用32位应用程序”设置为“True”即可
Other tips in IIS7:
a. 启用父路径。 常用的 ../ 父路径使用在IIS7里面是默认不支持的。 在iis的主页–>ASP -> 双击打开-> 启用父路径: True
b. 向浏览器返回错误信息。 默认网页代码出错浏览器会出现“An error occurred on the server when processing the URL. Please contact the system administrator”。 在iis的主页–>ASP -> 双击打开->调试错误-> 将错误发送到浏览器: True