设为首页 | 加入收藏夹

Asp连接access数据库,提示未知错误及错误代码为-2147467259的解决方案

2012/4/7 13:13:43 作者:计算机基础知识试题 录入:应序康 访问:9776 次 被顶:1 次 字号:【
摘要:今天使用老y文章管理系统(顺便帮他介绍一下:采用Asp+Access开发,适应中小新闻文章型网站及个人网站需求,整个网站采用Div+Css布局,IE6、IE7、IE8、Firefox、Chrome下测试无误。),我在测试的时候一运行就提示数...

今天使用老y文章管理系统(顺便帮他介绍一下:采用Asp+Access开发,适应中小新闻文章型网站及个人网站需求,整个网站采用Div+Css布局,IE6、IE7、IE8、Firefox、Chrome下测试无误。),我在测试的时候一运行就提示数据库连接出错:数据库连接出错,请检查Inc/Config.Asp里的数据库名称及路径是否正确。。

于是我打开了数据库连接文件conn.asp,在里面加了两句显示错误,下面红色的为我加的代码:


 db=SitePath&"data/"&DataName
 on error resume next
 Set conn = Server.CreateObject("ADODB.Connection")
 connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(db)
 conn.Open connstr
Response.Write connstr &"<br><br><br>---"
 
If Err Then
Response.Write err
 err.Clear
 Set Conn = Nothing
 Response.Write "<div style='margin:100px;font-size:14px;text-align:center'>数据库连接出错,请检查Inc/Config.Asp里的数据库名称及路径是否正确。</div>"
 Response.End
 End If

 

我刚下载下来的网站连接数据库有问题。很奇怪,如果是程序有这么低级问题,作者应该早就发现了。那应该是本地计算机的问题了。

马上查看输出的err.Number显示的是-2147467259,而err.Description显示的是“未知错误”。

问题分析:

出现上述错误实际上是由于MS Jet引擎没有对临时目录”C:\Windows\Temp”的写入权限,导致数据库创建失败。

我的解决方法如下:

1、设置IIS匿名用户,假设现在设为“ISUER_XXX”(这个根据你的IIS用户来定)2、在C:\Windows\Temp(临时目录)这文件夹上为ISUER_ studyer添加完全控制权限。具体操作:右击Temp文件夹,选择“属性”->“安全”->“编辑”->“添加”->将用户“ISUER_XXX”(这个根据你的IIS用户来定)添加上,并给予完全控制权限。

3、好了,再次运行程序,网站可以正常打开了,不再提示错误了!

 

 

 

附:因-2147467259(0x80004005)错误,导致IIS浏览不了动态网页---解决方法

 

解决方案(一)
1.确认在IIS中定义了合适的脚本语言.(进入IIS管理-选中站点-属性-主目录-配置-选项-默认ASP语言),确认默认ASP语言设置为 VBScript(默认)或JScript(如果你更喜欢Javascript脚本)
2.注意如果你的代码中首行含有<%Language="language"%>将覆盖上边的设置,所以仔细检查以保证你没有拼写
错误.它应该是<%Language="VBScript"%>
3.有时,脚本引挚不完整的DLL注册也会造成这个问题,请下载最新版的脚本引挚试试.
4.现在,我们需要确认在安装脚本引挚时没有注册某些DLL文件,例如,你可以按以下方式去尝试注册DLL:
运行CMD,然后
regsvr32 %windir%\system32\VBscript.dll
regsvr32 %windir%\system32\JScript.dll
regsvr32 %windir%\system32\Inetsrv\Asp.dll
5.继续,如果你到此还没有解决这个问题,那看起来像是许可权引起了该问题.
 例如:使匿名用户访问网站的 iusr_计算机名 这个用户没有相关DLL的读权限,可以尝试将(4)中的DLL文件
给匿名用户赋予读取权限.
6.下一步,如果你还是看到同样的错误,你需要尝试按另外的步骤以确保相关的权限正确.参考以下文件:
 IIS 4 - IIS 4所需要的用户和NTFS权限(http://support.microsoft.com/?id=187506)
IIS 5 - 怎样为IIS5设置所需要的用户及NTFS权限(http://support.microsoft.com/?id=271071IIS 6 - IIS6.0默认的用户及NTFS权限(http://support.microsoft.com/?id=812614)
7.如果你严格按照上边的步骤来做,应该不会再看到这个错误,除非你在上边的步骤中遗忘了某些配置.你可以临时将 iusr_计算机名 这个用户加入本地管理员组.注意,这只是为了查找问题,当问题解决后你绝对不能将匿名用户加入管理员组.
 
解决方案(二)
1、删除“internet信息服务”,
2、重启机子,按F8进入“安全模式”,
3、在安全模式下将“C:\Inetpub”、“c:\windows\iis6.log”、“c:\windows\system32\inetsrv”这几个东西重命名。
4、重启机子,在正常模式下安装“internet信息服务”,安装完毕删除重命名文件。
5、如果还不能解决问题,打开“internet信息服务”,“重新启动IIS”。
 
解决方案(三)
还有网友说的是iis6.0和XP存在不兼容,然后我到网上下载了多个5.1的,安装了又试,仍然没有什么变化,气坏我了!以上方法我没有能用上不能证明这些方法都不行,或许我的这个电脑不兼容吧,嘿嘿,大家发现都不行了话最好还是准备好开始系统还原(非系统自带的那个系统还原)或是重装吧!

参与评论
共有评论 0网友评论列表
CopyRight © 2009-2012 计算机基础知识 Inc.All Rights Reserved. 备案:苏ICP备09028880号