陈德馨

根治“Microsoft JET Database Engine 错误 80004005”的方法

1471人参与 |分类: 运维时间|时间:2016年06月21日 21:58

网吧架设了顾客留言本和WIFI认证系统,系统为windows2003+sp2+IIS6,今天发现网站ASP页面打不开,提示连接数据库出错或 Microsoft JET Database Engine 错误 80004005,仔细检查IIS,也没有问题,于是仔细检查代码:

1、基本信息

程序代码:

Dim databasePath,conn,connString

databasePath = "guestbook.mdb"

Set conn = Server.CreateObject("ADODB.Connection")

connString = "driver={Microsoft Access Driver (*.mdb)};dbq="& Server.MapPath( databasePath )

conn.Open connString

错误信息如下:

http://192.168.100.254/conn.asp

Microsoft JET Database Engine 错误 '80004005'

未指定的错误

/conn.asp,行 6

2、初步测试

看看连接语句也没什么错误,不过第一反应还是换个写法:

程序代码:

Dim databasePath,conn,connString

databasePath = "guestbook.mdb"

Set conn = Server.CreateObject("ADODB.Connection")

connString = "driver={Microsoft Access Driver (*.mdb)};dbq="& Server.MapPath( databasePath )

conn.Open connString

错误如下:

[Microsoft][ODBC Microsoft Access Driver]General error Unable to open registry key 'Temporary (volatile) Jet DSN for process 0x474 Thread 0x290 DBC 0x79d024 Jet'.

/conn2.asp,行 6

3、分析问题

一般遇到这种问题,多数是因为mdb文件所在目录中IUSER_SERVENAME用户没写权限引起的,不过我朋友木鱼的服务器是我亲手配置的,权限设置没有问题。在IIS配置中加入写权限也是错误依旧.

检查C盘的权限,只有administrator和system用户,我突然想到数据库写入需要temp临时文件有写的权限,于是修改Windows/temp的权限,添加IUSR_的读写权限。问题立即解决。

另:网上有资料是关于静态网站改动态网站后ASP页面打不开的解决方法,操作如下:

重新把IIS注册一下,命令:aspnet_regiiis -i

注意,为什么要这样呢?因为IIS和.Net框架安装是有先后顺序的。

具体操作:

在运行了键入cmd,然后转到c盘,在键入:cd C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322,

最后键入:aspnet_regiis -i

来源:陈德馨博客(微信/QQ号:35435164),转载请保留出处和链接!

地址:

必填

选填

选填

◎已有 0 人评论,请发表您的观点。