网站Access数据库出现Microsoft JET Database Engine 错误80004005 未指定的错误的解决方法
使用独立服务器,例如vps、云主机的用户在自己搭建IIS+Access+asp环境后访问网站出现:“Microsoft JET Database Engine 错误80004005 未指定的错误 /conn.asp ,第5行” ,检查conn.asp文件内容:
<%
db=”../database/mydb.mdb”
Set conn = Server.CreateObject(“ADODB.Connection”)
connstr=”Provider=Microsoft.Jet.OLEDB.4.0;Data Source=” & Server.MapPath(“”&db&””)
conn.Open connstr 第5行
%>
第5行是conn.Open connstr ,可以知道这是asp程序在连接Access数据库时出错
原因及解决方法:
1.数据库文件或数据库文件所在的文件夹权限问题:
IIS匿名用户应该对数据库文件和存放该数据库的文件夹有写入、读取、修改的权限,右键单击文件夹,属性,选择“安全”选项卡,点击“高级”,选择“权限”选项卡,选中IIS匿名账户,一般是“ISUR_”用户,点击“编辑(E)”,按照下图所示设置权限,设置后点击确定保存修改。
2.C:/windows/temp目录权限问题
asp程序使用JET引擎访问Access数据库时会在系统盘符C:/windows/temp 内创建临时文件,该类文件一般是JET***.tmp这种类型,如果该目录没有写入权限,JET就无法创建临时文件,导致报错。该怎么设置temp目录的权限呢?和前面一样,右键单击C:/windows/temp文件夹,属性,选择“安全”选项卡,点击“高级”,选择“权限”选项卡,选中Users用户,点击“编辑(E)”,按照截图所示的权限修改Users权限: