Access出现Microsoft JET Database Engine (0x80004005)未指定的错误

2017-07-31 13:10:00
来自网络
转贴
645

Microsoft JET Database Engine 

(0x80004005)未指定的错误,这个错误只有在使用Access数据库时才能出现

出现以上问题,可以使用以下步骤进行解决问题:

1、系统可能没有注册msjetoledb40.dll,解决办法是
   
点 开始--->运行, 输入 regsvr32 msjetoledb40.dll, 回车即可;


2、数据库所在文件夹权限
   
打开办法是:打开我的电脑,然后点菜单上的“文件夹选项”--->查看,然后把“使用简单文件夹共享(推荐)”前面的钩去掉,然后点“确认”;接下来回到需要打开权限的文件夹(数据库存放的文件夹),右键---> 
属性--->安全,然后点“添加”--->"高级"--->立即查找--->然后在下面的地方选择“everyone”--->确定--->点刚才加入的"everyone",然后在下面的大框编辑everyone权限为完全控制,保存即可。


3、需要打开guest用户
   
打开方法:我的电脑--->控制面板--->管理工具---->计算机管理--->本地用户和组---用户---找到"guest",双击,然后把弹出来的狂上的“帐户已停用”前的钩去掉,保存即可。


4、temp(临时文件夹)权限
   
打开办法:windows--->temp,单击右键选择-属性,你就会看到一个叫做“安全”的选项,添加一个everyone,权限设置为完全控制,再将你正在使用windows的用户也设置为完全控制



解决asp连access遇到的“常见错误 不能打开注册表关键字 或Provider (0x80004005)未指定的错误


xp+ASP+ACCESS
未指定的错误
/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
%>
如果还提示出错,那么可能是没有开启数据库目录的写权限,也可能是没有开启系统目录下temp的写权限
解决方法:
打开winnt\temp目录 将其安全选项内增加 everyone 用户 权限为完全控制
 
XP系统下可能点击右键看不到“安全”选项,请先打开“工具”-“文件夹选项”-“查看”-取消“使用简单文件共享(推荐)” 然后即可在属性中找到“安全”选项
您的数据库文件上文件夹上面点击右键-“属性”-“安全”-添加用户:“IUSR_计算机名” 并开放“IUSR_计算机名”的读取、写入权限(注意:只有在ntfs下才有 安全选项)
 



还有一种是驱动的问题


1、确保你的计算机上安装了OLEDB12的驱动,可以理解为你计算机上只要安装了Access2010,就会有相关的驱动
2、你的连接串没有错【connstr="Provider=Microsoft.ACE.OLEDB.12.0;data source="&server.MapPath("student.accdb")】,但Access文件的路径要确认一下是否正确
3、我以前用过这个方式来做,是成功的。当然,你也可以将2010的数据库修改为2003版本的MDB数据库,这样使用【connstr= "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("student.mdb")】来做连接串



分享