首页 > 开发 > Asp > 正文

ASP访问Access数据库出错:MicrosoftJETDatabaseEngine(0x80004005)错误。

2020-09-12 13:03:29
字体:
来源:转载
供稿:网友

错误类型:
Microsoft JET Database Engine (0x80004005)
未指定的错误
conn.ASP, 第 6 行


解决方法:


一、权限更换法


首先保证您的conn没有任何问题!!把IIS里“目录安全性”中的“匿名访问和身份验证控制”取消,换成“集成 WINDOWS身份验证”即可。


二、连接字符串大小写法


问题可能是因为XP的ODBC原因造成的,xp中的ODBC已经升级到了ODBC.net版本了。.net在大小写方面有些问题。你们可以试试换成小写。
  我自己在写联字符串时换成小写,问题就没有,你们可以试试。


三、连接字符串加入用户名密码法


这些是我在用dreamweaver连接数据库是遇到的。 现在本地电脑是XP,服务器是2000
  错误通常都在第8行。
  1、如果出现“不能连接数据库”请下载新插件。就是XP下dreamweaver的补丁。
  2、如果出现“Provider (0x80004005)  
        未指定的错误
    一会有,一会儿无。解决办法。就是加入UID=;PWD=
    例:
    错误前:MM_okok_STRING = "dsn=bak;"  
    改正后:MM_okok_STRING = "dsn=bak;UID=;PWD=;"
 就说到这了。


四、标准连接字符串法


以上都是 数据库 连接时的不正确写法靠成的。
发一个标准的数据库连接代码。希望对大家有帮助。
<%
option explicit
dim startime,endtime,conn,connstr,db
startime=timer()
'更改数据库名字
db="data/dvBBS5.mdb"
Set conn = Server.CreateObject("ADODB.Connection")
connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(db)
'如果你的服务器采用较老版本Access驱动,请用下面连接方法
'connstr="driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath(db)
conn.Open connstr
function CloseDatabase
Conn.close
Set conn = Nothing
End Function
%>


五、重启计算机法


其实很简单...被你们复杂化了....
其实就是重启机器就OK....


--作者自己观点:不过我试过这个方法,对我的机器没有作用


六、修复系统文件法



七、连接字符串正确写法


注意了!!原因是connstr="driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath(db)其中的“Driver (*.mdb)”中间多了个空格,所以会出错!!改成“Driver(*.mdb)”就OK了!


在Dos命令行状态下分别输入下列命令并按回车

(Enter)键:

regsvr32 jscript.dll (命令功能:修复Java动态链接库)
regsvr32 vbscript.dll (命令功能:修复VB动态链接库)

然后从新启动,即可恢复

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表