Provider (0x80004005)
未指定的错误
/conn.asp,第3行
conn.asp里连接数据库的代码可能不规范。
解决方法:
<%
'不规范的写法如下,有时能正常运行,有时不能。
set conn=server.createobject("adodb.connection")
conn.open "driver={microsoft access driver (*.mdb)};dbq="&server.mappath("data/xixi.mdb")
%>
<%
'正确写法如下
dbpath=server.mappath("data/xixi.mdb")
set conn=server.createobject("adodb.connection")
conn.open "provider=microsoft.jet.oledb.4.0;data source=" & dbpath
%>
我把conn.asp文件改为上述正确写法后,即运行正常。可第二天,又不正常了。还是提示出错。。
继续了以下步骤后才可以访问了
.把IIS里“目录安全性”中的“匿名访问和身份验证控制”取消,换成“集成 WINDOWS身份验证”即可。
不过在本机访问的时候,先提示要输入本机的用户名和密码,反正是在本机运行的,这样也可以。只要能正常运行。
网上很多资料都说是没有开启数据库目录的写权限,也有人说是没有开启系统目录下temp的写权限,我不知道这是否是一个误区,毕竟我的是XP系统,XP的解决方法不一定适用于其他操作系统,所以还是转一下别人的帖子,以供参考
以下为转帖(转帖中是win2003 server +asp+access)解决方法一
好好的网页突然出现错误,Microsoft OLE DB Provider for ODBC Drivers 错误 '80004005'常见错误 不能打开注册表关键字错误描述:
----------------------------------
Microsoft OLE DB Provider for ODBC Drivers 错误 '80004005'
[Microsoft][ODBC Microsoft Access Driver]常见错误 不能打开注册表关键字 'Temporary (volatile) Jet DSN for process 0x728 Thread 0x854 DBC 0x276fb44 Jet'。
----------------------------------
连接方式:
--ODBC连接方式------------------------
mdbpath=server.MapPath("my.mdb.asp")
CnnStr = "DBQ=" & mdbpath & ";DRIVER={Microsoft Access Driver (*.mdb)};uid=admin;pwd="
-------------------------------------
解决方法:
打开winnt\temp目录 将其安全选项内增加 everyone 用户 权限为完全控制 然后重启计算机
如果不重启。会出另外一个错!!!
操作系统 win2000 server sp4/sp3
问题原因。权限不够
唉。查了近1个月不知道是哪里的错。无意中发现了下面的这个贴子再结合实际情况详细的给大家说说
首先产生该错误的根源是 c:\winnt\temp目录
我自已总认为temp目录没有多大用。在优化系统的时候图省事就将这个目录删除了
所以就出现了这样的错误。看了好多的网上的解释解答。都得不到原因。只是说权限不足.但是根源呢
我的机子的C盘为NTFS分区 其它的分区均为FAT32分区 所以应该不存在NTFS的权限问题但是没有想到的是这个 temp目录的问题
总算找到根源了。在这里记录一下。让其它遇到此问题的人省一点劲吧。
网上查找到的解决方法二:
中国代码网www.china-code.net里面有你需要的。
windows+iis服务器上运行asp程序可能会出现数据库无法更新的情况,具体错误信息可能为:
1、Microsoft JET Database Engine (0x80040E09) 不能更新。数据库或对象为只读
2、Microsoft OLE DB Provider for ODBC Drivers (0x80004005)[Microsoft][ODBC Microsoft Access Driver] 操作必须使用一个可更新的查询。
3、Microsoft JET Database Engine (0x80004005) 操作必须使用一个可更新的查询。
首先保证您的conn没有任何问题!!
1.把IIS里“目录安全性”中的“匿名访问和身份验证控制”取消,换成“集成 WINDOWS身份验证”即可。
2、在wwwroot文件夹上面点击右键-“属性”-取消“只读”
3、在您的数据库文件上文件夹上面点击右键-“属性”-“安全”-添加用户:“IUSR_计算机名” 并开放“IUSR_计算机名”的读取、写入权限
此方法是目前解决这个问题最好的办法,一般都可以解决问题
XP系统下可能点击右键看不到“安全”选项,请先打开“工具”-“文件夹选项”-“查看”-取消“使用简单文件共享(推荐)” 然后即可在属性中找到“安全”选项
4、在wwwroot文件夹上面点击右键-“属性”-“web共享”-“共享文件夹”
5.在IIS虚拟目录上点击右键-“属性”-”配置“-”选项“-”启用父目录“
网上查找到的方法三:
-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
解决办法:
在Dos命令行状态下分别输入下列命令并按回车
(Enter)键:
regsvr32 jscript.dll (命令功能:修复Java动态链接库)
regsvr32 vbscript.dll (命令功能:修复VB动态链接库)
然后从新启动,即可恢复


