权限问题(Microsoft JET Database Engine 错误 '80004005' )

彻底解决“Microsoft JET Database Engine 错误 80004005”
下午网友那里发过来消息,asp程序连接access数据库出些错误,简单看了一下,整理过程如下:
    1、基本信息
    程序代码:
 
dim conn
dim connstr
dim db
dbxxxxxx" '数据库文件位置
'connstr="DBQ="+server.mappath(""&db&"")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"
set conn=server.createobject("ADODB.CONNECTION")
'connstr="driver={Microsoft Access Driver (*.mdb)};dbq=" & server.mappath("zedaidata.mdb")
'conn.open connstr
Connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("xxxxx")
conn.open Connstr
 

http://127.0.0.1/conn.asp
 

Microsoft JET Database Engine 错误 '80004005'

未指定的错误

/Conn.asp,行 15

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

换上面的

也出错

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

/conn.asp,行 6

3、再分析
    一般遇到这种问题,多数是因为mdb文件所在目录中IUSER_SERVENAME用户没写权限引起的,不过朋友的情况,mdb的磁盘都是FAT32的。在IIS配置中加入写权限也是错误依旧,开始有点晕了。
    到MS“关于 Active Server Pages 和 Microsoft 数据访问组件中的 80004005 错误的疑难解答”里面也没发现相同错误;倒是看到一片文章“关于ASP访问ACCESS数据的“不能打开注册表关键字”80004005错误的探讨”,大致是说需要修改Winnt/temp的权限,不过记得正常情况下temp目录也没有everyone的写权限的,本来打算让朋友给这个目录加IUSER的写权限来测试的,结果他的机器添加权限都出错,ft!
    没办法,只要cmd下把IUSER加到administrators组看看了,添加后重起IIS,问题解决,2种连接方式都可以了,看来还是权限的问题引起的。因为朋友要吃饭了,所以没再测试,具体是因为那里权限不足,还没找到。。。
    有时间再看看的时候给大家准信,呵呵!

一般是用A、修改Winnt/temp的权限,不过记得正常情况下temp目录也没有everyone的写权限的。

如果不行的话。用B、把Iuser加到administrators组里就可以解决了!


align="center" marginwidth="0" marginheight="0" src="http://down.51lifes.com/users/down.51lifes.com/ggad468.html" frameborder="0" width="468" scrolling="no" height="60">
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lanlandechong

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值