仰天一笑(Ansonxuyu),专业从事软件定制开发、Web软件开发,网站建设,网络推广,APP开发,微博应用开发,微信应用开发,电子商务开发,物联网开发等技术。
互联网8年风雨,愿在此交朋识友,交流心得,分享技术知识(策划/研发/运营/推广/合作)!QQ:943530498


仰天一笑

昨日不悔,今日勿失,明日莫忧! —徐羽

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

一般情况下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)
/http://www.cnblogs.com/aa.asp xx行

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

("strName")
来连接时打开则出现错误:
microsoft ole db provider for odbc drivers(0x80004005)
/http://www.cnblogs.com/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;"";"
来连接,服务器又该如何配置?
出现上述问题,是什么原因?是服务器缺少什么配置或其他什么的?
请高手指点一下。

posted on 2011-11-01 14:04  仰天一笑  阅读(667)  评论(0编辑  收藏  举报