ADODB 问题,很急~~~~~谢谢~~~~~

Mictel 2003-10-16 03:28:10
DbPath = Server.mapPath("aaa.mdb")
Set conn=Server.CreateObject("ADODB.Connection")
conn.open "driver={Microsoft Access Driver (*.mdb)};dbq=" & DbPath &";PWD=aaa"
Set rs=Server.CreateObject("ADODB.Recordset")
rs.Open "SELECT * FROM member WHERE (member.ID)='" & Request.QueryString("id") & "';",conn

我用以上语句调用Access 的数据库文件
运行正常,可是放在站上用的时候很不稳定,经常出现以下错误信息
------------------------------------------------------
Microsoft OLE DB Provider for ODBC Drivers 错误 '80004005'

[Microsoft][ODBC Microsoft Access Driver]常见错误 不能打开注册表关键字 'Temporary (volatile) Jet DSN for process 0x5ac Thread 0x6c4 DBC 0xb6d2b14 Jet'。

/test/member/addmember.asp,行13

------------------------------------------------------

提示中的行13就是

Set conn=Server.CreateObject("ADODB.Connection")
conn.open "driver={Microsoft Access Driver (*.mdb)};dbq=" & DbPath &";PWD=aaa"

出现问题后无法解决,但等十几分钟后就没事了,一切正常,我很是疑惑

请大家帮帮忙,不知大家是否预见过,小弟先谢了~~~
...全文
36 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
online 2003-10-16
  • 打赏
  • 举报
回复
conn.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Dbpath
使用这种方式试试
qdubit 2003-10-16
  • 打赏
  • 举报
回复
强烈关注!
topmonkey 2003-10-16
  • 打赏
  • 举报
回复
以前我也遇到过此类问题,解决的方法是将语句中增加或删除一个空格。如:
conn.open "driver={Microsoft Access Driver (*.mdb)};dbq=" & DbPath &";PWD=aaa"
这条语句如果出错,就增加一个空格进去,变成:
conn.open "driver={Microsoft Access Driver (*.mdb)};dbq =" & DbPath &";PWD=aaa"
往往就能解决。我也不知道为什么。
topmonkey 2003-10-16
  • 打赏
  • 举报
回复

conn.open "driver={Microsoft Access Driver (*.mdb)};dbq=" & DbPath &";PWD=aaa"
改为
conn.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Dbpath
avonqin 2003-10-16
  • 打赏
  • 举报
回复
这个问题这里很多人问到,但没人能够找到针对性的对策
孟子E章 2003-10-16
  • 打赏
  • 举报
回复
http://www.tr.gz.cn/news/ReadNews.asp?NewsID=810&BigClassName=网络学院&SmallClassName=网络编程&SpecialID=9

http://www.qimi.net/net/12240.html
孟子E章 2003-10-16
  • 打赏
  • 举报
回复
80004005 常见错误 不能打开注册表关键字 解决方法


常用办法:
1、重启服务器,有些就能恢复正常。
2、安装 MDAC 新版。
3、没有办法的办法:重装系统。

微软技术支持的解决方案:
http://support.microsoft.com/default.aspx?scid=kb;EN-US;q295297

网友:
Microsoft OLE DB Provider for ODBC Drivers 错误 '80004005'

[Microsoft][ODBC Microsoft Access Driver]常见错误 不能打开注册表关键字 'Temporary (volatile) Jet DSN for process 0x494 Thread 0x960 DBC 0x2c74004 Jet'。


想过所有的办法包括装数据库支持,安装OLEDB,安装IIS,安装ODBC,重新设定数据库连接方式,都不行,所有访问ACCESS数据库的都是同一个错误,但是SQL SERVER都没有问题,只能重新装WIN2000 才能搞定,但是太麻烦了,所以到网络上找办法,

唯一找到对头的解决办法是:

5.错误信息:
Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC Access 97 ODBC driver Driver]General error Unable to open
registry key 'DriverId'.
原因:
这个错误发生在爱从注册表中读取数值的时候。 使用regedit32.exe检查你的注册表的权限。
你也可以使用NT中的注册表监视程序(NTRegMon)来看读取失败信息。该程序到这找:http://www.sysinternals.com


NetBoy 2003-10-16
  • 打赏
  • 举报
回复
终于帮你找到了,可以把你上面的代码小改一下:
===============================================
Dim id,conn,sqlstr
Set conn= Server.CreateObject("Adodb.Connection")
DBPath="DBQ="&Server.MapPath("数据库.mdb")
conn.Open"Driver={Microsoft Access Driver (*.mdb)};"&DBPath

id=Request.QueryString("id")
最好加一个替换函数,将(')等对程序影响的非法字符替换
sqlstr="select 字段 from 表 where id='"&id&"'"
rs.Open sqlstr,conn,1,3
===============================================
也可以用这种方式:
===============================================
<%
Option Explicit
Dim conn,connstr,startime,db,rs

startime=timer()
db="表.mdb"

Set conn = Server.CreateObject("ADODB.Connection")
connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(""&db&"")
conn.Open connstr
%>
================================
上面这种方式好像更稳定点
替换函数:(javascript)
function replaceCharacters(conversionString,inChar,outChar)
{
var convertedString = conversionString.split(inChar);
convertedString = convertedString.join(outChar);
return convertedString;
}
================================
希望能让你的问题尽快解决!
makay 2003-10-16
  • 打赏
  • 举报
回复
直接用,不要DBPATH,有时DBPATH那的引号,也会出现这种问题!

这种问题出现应该是你第一次上传时,但引导一下后,就没这情况,我以前就是这样。
yangsm 2003-10-16
  • 打赏
  • 举报
回复
可能你还有其它的数据库表。它们中可能用到了ODBC,我今天上传上去时也这样,
Mictel 2003-10-16
  • 打赏
  • 举报
回复
或还有什么其他的调用mdb文件的好方法,请教了~~~~~
万分感谢~~~~~~~~~~~~~~~~~~~~~~~

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧