服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服务器之家 - 编程语言 - ASP教程 - 错误类型:Provider (0x80004005)未指定的错误 的一个处理方法

错误类型:Provider (0x80004005)未指定的错误 的一个处理方法

2019-10-15 10:12asp技术网 ASP教程

一般情况下asp可以正常运行,但只要连接数据库就提示,Microsoft JET Database Engine 错误'80004005'

我的电脑因为用批处理清理文件,所以不能运行了, 只 
1.查看数据库连接语句没有发现错误; 
2.查看文件夹的权限已经全部给了everyone; 
3.打开数据库的同时,系统会在临时文件夹 %SystemRoot%/temp/ 下创建临时文件,而 % 

SystemRoot%/temp/ 的权限不够 
解决:%SystemRoot%/temp/ 的权限加上(IUSER_电脑名的读写) 

2、如果一般未指定的错误,还有个办法,先 
其实只要很简单的几步。: 
开始。。。运行。。。regsvr32 jscript.dll 
开始。。。运行。。。regsvr32 vbscript.dll 
开始。。。运行。。。iisreset 


Microsoft JET Database Engine (0x80004005)未指定的错误解决 
1、系统可能没有注册msjetoledb40.dll,解决办法是 
点 开始--->运行, 输入 regsvr32 msjetoledb40.dll, 回车即可; 

2、数据库所在文件夹权限 
打开办法是:打开我的电脑,然后点菜单上的“文件夹选项”--->查看,然后把“使用简单文 

件夹共享(推荐)”前面的钩去掉,然后点“确认”;接下来回到需要打开权限的文件夹(数据库存 

放的文件夹),右键---> 属性--->安全,然后点“添加”--->"高级"--->立即查找--->然后在下面 

的地方选择“everyone”--->确定--->点刚才加入的"everyone",然后在下面的大框编辑everyone 

权限为完全控制,保存即可。 


3、需要打开guest用户 
打开方法:我的电脑--->控制面板--->管理工具---->计算机管理--->本地用户和组---用户--- 

找到"guest",双击,然后把弹出来的狂上的“帐户已停用”前的钩去掉,保存即可。 


4、temp(临时文件夹)权限 
打开办法:windows--->temp,单击右键选择-属性,你就会看到一个叫做“安全”的选项,添 

加一个everyone,权限设置为完全控制,再将你正在使用windows的用户也设置为完全控制.(件夹权 

限 
打开办法是:打开我的电脑,然后点菜单上的“文件夹选项”--->查看,然后把“使用简单文 

件夹共享(推荐)”前面的钩去掉,然后点“确认”;接下来回到需要打开权限的文件夹(数据库存 

放的文件夹),右键---> 属性--->安全,然后点“添加”--->"高级"--->立即查找--->然后在下面 

的地方选择“everyone”--->确定--->点刚才加入的"everyone",然后在下面的大框编辑everyone 

权限为完全控制,保存即可。 



本人要用ASP批量导入excel数据到sql数据库去,借用了zhanghongwen(流氓蚊子) 的代码,如下 

: 
... 
... 
... 
<% 
server.scripttimeout=100000000 
sub dataIntoSqlServer_ceritificate(strFileName,strSheetName,myConn) 
'定义 
dim myConnection 
dim strName 
dim rsXsl,rsSql 
dim str_Xsl,str_Sql 
dim myConn_Xsl 
dim cmd 
dim i,j 
dim maxId 

strName=strFileName 
set myConnection=server.createobject("adodb.connection") 
set rsXsl=Server.Createobject("ADODB.Recordset") 
set rsSql=Server.CreateObject("ADODB.Recordset") 
set cmd=Server.CreateObject("ADODB.Command") 
cmd.ActiveConnection=myConn 



myConn_Xsl="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strName 

& ";Extended Properties=Excel 8.0" 


'打开连接 
myConnection.open myConn_Xsl 

'打开表 
str_Xsl="select * from ["& strSheetName &"$]" 
rsXsl.open str_Xsl,myConnection,1,1 
j=1 
Do While not rsXsl.eof 
'取出最大值 
str_Sql="select Max(id) as maxId from fubiao" 
rsSql.open str_Sql,myConn,1,3 
If Not rsSql.Eof Then 
If not isNull(rsSql("maxId")) Then 
maxId=Clng(rsSql("maxId"))+1 
Else 
maxId=1 
End if 
else 
maxId=1 
End if 
rsSql.close'//关闭对象 
'加入数据库 
str_Sql="insert into fubiao values("&maxId&",'"&rsXsl(1)&"','"&rsXsl(3) 

&"','"&rsXsl(4)&"','"&rsXsl(5)&"','"&rsXsl(6)&"','"&rsXsl(7)&"','"&rsXsl(8) 

&"','"&rsXsl(9)&"','"&rsXsl(10)&"','"&rsXsl(11)&"','"&rsXsl(12)&"','"&rsXsl(13) 

&"','"&rsXsl(14)&"','"&rsXsl(15)&"','"&rsXsl(16)&"','"&rsXsl(17)&"','"&rsXsl(18) 

&"','"&rsXsl(19)&"','"&rsXsl(20)&"','"&rsXsl(21)&"','"&rsXsl(22)&"','"&rsXsl(23) 

&"','"&rsXsl(24)&"','"&rsXsl(25)&"','"&rsXsl(26)&"','"&rsXsl(27)&"')" 
cmd.CommandText=str_Sql 
cmd.Execute() 


'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 

''' 
j=j+1 
rsXsl.movenext 
Loop 

response.write "共导入<font color='red'>" & j-1 & "</font>条记录 

.<br/>" 
response.write "<a href=javascript:history.back()>确定</a>" 
set rsXsl=nothing 
set rsSql=nothing 
set myconnection=nothing 
set cmd=nothing 
end sub 
... 
... 
... 
file1=request.form("filename2") 
strtj=mid(request.form("filename2"),instrrev(file1,"\")+1,(instrrev(file1,".")- 

instrrev(file1,"\")-1)) 
if file1="" then 
response.write "请选择您要导入的Excel表!<p></p>" 
%> 
<a href=javascript:history.back()>上一页</a> 
<% 
response.end 
end if 
myconn="DRIVER={SQL SERVER};SERVER=(local);uid=sa;pwd=sa;DATABASE=qjgsj_data" 
call dataIntoSqlServer_ceritificate file1,""&strtj&"",myconn 
... 
... 
%> 
在打开连接时: 
myConnection.open myConn_Xsl 

出现:HTTP 500.100_内部服务器错误_ASP错误 
错误类型: 
Microsoft Jet Database Engine(0x80004005) 
\..\..\aa.asp xx行 
是什么问题呢? 
此连接句有问题吗? 
myConn_Xsl="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strName & 

";Extended Properties=Excel 8.0" 

我服务器系统DSN已给SQL数据库建立了数据源,用ASP批量导入EXCEL数据,还需在系统DSN给 

EXCEL设置驱动程序吗? 
zhanghongwen(流氓蚊子)在吗? 问题点数:80、回复次数:4Top 

1 楼VeryOldMan(无头苍蝇(www.gzmeishi.com))回复于 2006-01-27 14:53:46 得分 

80myConn_Xsl="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath 

("/yourexcel.xls") _ 
& ";Extended Properties=""Excel 8.0;HDR=Yes;"";" 
SQL Command: "Select * From [yourSheetname$]" 

在我自己的网站:www.gzmeishi.com上测试通过!Top 

2 楼zcxc(知春小草)回复于 2006-02-05 14:18:59 得分 0 还是不行。 
Microsoft.Jet.OLEDB.4.0在服务器上需要配置吗?Top 

3 楼zcxc(知春小草)回复于 2006-02-05 18:36:27 得分 0 郁闷!!! 
请高手相助!!! 
我服务器配置为windows server 2000,iis 5.0,sql server 2000。 
用myConn_Xsl="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strName & 

";Extended Properties=Excel 8.0" 
或myConn_Xsl="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath 

("strName ") _ 
& ";Extended Properties=""Excel 8.0;HDR=Yes;"";" 语句 
打开该连接时出现错误: 
Microsoft Jet Database Engine(0x80004005) 
/../../aa.asp xx行 

用myconn_Xsl="driver={microsoft excel driver(*.xls)};dbq="&server.mappath 

("strName") 
来连接时打开则出现错误: 
microsoft ole db provider for odbc drivers(0x80004005) 
/../../aa.asp xx行 

请问: 
用myconn_Xsl="driver={microsoft excel driver(*.xls)};dbq="&server.mappath 

("strName")语句来连接时,服务器该如何配置? 
用myConn_Xsl="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strName & 

";Extended Properties=Excel 8.0" 
或myConn_Xsl="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath 

("strName ") _ 
& ";Extended Properties=""Excel 8.0;HDR=Yes;"";" 
来连接,服务器又该如何配置? 
出现上述问题,是什么原因?是服务器缺少什么配置或其他什么的? 
请高手指点一下。 

用dreamweaver连接数据库时错误通常都在第8行。并且问题一会有,一会儿无。通常开始运行正常,但是一刷新,将有如下问题的出现: 
  HTTP 错误 500.100 - 内部服务器错误 - ASP 错误  
Internet 信息服务  
--------------------------------------------------------------------------------  
技术信息(用于支持人员)  
错误类型:  
Provider (0x80004005)  
未指定的错误  
/xxxxxx.asp, 第8行  
浏览器类型:  
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)   
网页:  
GET /main.asp   
问题原因: 
连接数据库代码不规范所造成的.代码有漏缺情况. 
解决方安: 
找到产生连接数据库的那段代码为  MM_XXXXXX_STRING 付值的语句, 添加UID=;PWD=  
(此段代码一般是在站点的CONNECTIONS文件下) 
例如:      
        错误前:MM_XXXXX_STRING = "dsn=YYYY;"   
    改正后:MM_XXXX_STRING = "dsn=YYYY;UID=;PWD=;"  
现在自己马上试一下吧! 

延伸 · 阅读

精彩推荐