1、500错误怎么解决 WIN2003 IIS6.0报500错误解决方法
第一步:
首先检查一下 web服务器扩展里面 是否开启的asp服务
如果 没有开启 点击允许~
第二步:
IIS6里缺省下是不支持 ../ 路径的~~~ 因为安全考虑吧~
在网站设置里,右键点出“属性”,在主目录中点击“配置”。在弹出的对话框中“选项”栏中,把“启用父路径”选中,就“噢”了~~
ok asp程序成功运行 如果失败 那没办法了 找微软吧
今天介绍的错误是:http服务器内部500错误,这个错误是很多站长无论是自己写的程序还是下载采用别人的源程序经常遇到的。一按错页面显示是:
网站无法显示该页面
HTTP 500
最可能的原因是:
•该网站正在进行维护。
•该网站有程序错误。
您可以尝试以下操作:
刷新该网页。
返回到上一页。
更多信息
此错误(HTTP 500 内部服务器错误)意味着您正在访问的网站出现了服务器问题,此问题阻止了该网页的显示。
有关 HTTP 错误的详细信息,请参阅帮助。
很
多站长看到这个页面便目瞪口呆,有的人到百度搜索答案,网上的答案大同小异,很多都很复杂,根本不知道在说什么。其实服务器内部500错误大概可分为两
种,一种是服务器本身权限问题,另一种是程序上不规范或者错误造成。所以要解决此问题需要先弄清楚其到底是哪种原因,那该如何检测是那种原因呢?请往下
看:
在IE浏览器下点击 工具-internet选项-高级,滚动条拉到最后,将“显示友好HTTP错误信息”前的勾去掉,确定,这时刷新“500内部服务器错误”页面,或者重新启动该页面,页面便会弹出新的报错项目,这是网页报错的信息便会告诉你是原因导致此错误发生。
当
然这时,很多站长会发现即使显示出错误类型了,还是不知道怎么解决,最简单方法就是你吧新的错误类型再次复制到到百度里进行提问查询,便知道如何解决了。
对于程序问题,在这里实在不好说是怎么解决,因为程序错误类型很多,根本不知道各位站长会遇到怎样的错误,如果查出来是权限问题,那么好解决,往下看:
程
序在本地情况下:点击进入到源程序的根目录文件夹,点击最上面的
工具-文件夹选项-查看,将“使用简单文件共享(推荐)”前面的勾去掉,确定。这时要对你要设置权限的文件或者文件夹进行更改权限,选中文件或文件夹右
击,属性-安全-添加-高级-立即查找,在下面的一组用户中选择IWAM_(你的计算机名)和IUSR_(你的计算机名),确定,返回“安全”界面,将
IWAM_(你的计算机名)(为进程账户)权限设置为完全控制,IUSR_(你的计算机名)(来宾账户)设置成读取权限。
2、IIS7 出现HTTP 500内部服务器错误
1、在控制面板—管理工具—服务 中确认"Distributed Transaction Coordinator"服务有没有启动,没有启动就启动它,并设置成自动。
如果遇到"Distributed Transaction Coordinator"服务无法启动怎么办?
在命令提示符里输入
msdtc -resetlog
然后就可以启动该服务了。
2、运行 c:\Inetpub\AdminScripts 脚本文件夹中的 synciwam.vbs文件
3.在命令行状态下输入以下命令(注意大小写):
cd c:\windows\system32\inetsrv
rundll32 wamreg.dll, CreateIISPackage
regsvr32 asptxn.dll
然后重新启动IIS服务,asp文件就可以正常访问了。
3、iis http 500 内部服务器错误?????
解决来办法如下:
1、删除源“internet信息服务”,
2、重启机子,按F8进入“安全模式”,
3、在安全模式下将“C:\Inetpub”、“c:\windows\iis6.log”、“c:\windows\system32\inetsrv”这几个东西重命名。
4、重启机子,在正常模式下安装“internet信息服务”,安装完毕删除重命名文件。
5、如果还不能解决问题,打开“internet信息服务”,“重新启动IIS”。
如果再不行来找我...
4、我的是win7 旗舰版的安装了iis6.0,运行asp时出现(HTTP 500 内部服务器错误),请问是什么原因呢?
http 500内部服务器错误说明IIS服务器无法解析ASP代码,访问一个静态页面试试是否也出现这个问题内,如果访问静态页面容没问题,并且, 没有改过计算机名字,没有调整域策略, 那极有可能是因为权限问题。
建议降低安全等级,并且使用超级管理员权限后再试试吧
开启方法如下:
首先:
在当前账户界面内选择----开始----所有程序----附件,找到“命令提示符”,右键选择“以管理员身份运行”。
然后:
在dos窗口中输入:net user administrator /active:yes ,回车。
注销当前账户,就会看到administrator账户出现了。
这时你用administrator登录就是超级管理员了,在administrator里也可以把原来的用户删掉。
要想关闭administrator用户:
输入密令:net user administrator /active:no
当然要保证有别的用户前提下再关闭administrator用户。
5、iis 的 http 500 内部服务器错误怎么解决????
IIS500错误,是因为微软的一个BUG所造成的。下面是解决办法:
主要是由于IWAM账号(在我的计算机即是IWAM_MYSERVER账号)的密码错误造成了HTTP 500内部错误。
在详细分析HTTP500内部错误产生的原因之前,先对IWAM账号进行一下简要的介绍:IWAM账号是安装IIS5时系统自动建立的一个内置账号,主要用于启动进程之外的应用程序的Internet信息服务。IWAM账号的名字会根据每台计算机NETBIOS名字的不同而有所不同,通用的格式是IWAM_MACHINE,即由“IWAM”前缀、连接线“_”加上计算机的NETBIOS名字组成。我的计算机的NETBIOS名字是MYSERVER,因此我的计算机上IWAM账号的名字就是IWAM_MYSERVER,这一点与IIS匿名账号ISUR_MACHINE的命名方式非常相似。
IWAM账号建立后被Active Directory、IIS metabase数据库和COM+应用程序三方共同使用,账号密码被三方分别保存,并由操作系统负责这三方保存的IWAM密码的同步工作。按常理说,由操作系统负责的工作我们大可放心,不必担心出错,但不知是BUG还是其它什么原因,系统的对IWAM账号的密码同步工作有时会失败,使三方IWAM账号所用密码不统一。当IIS或COM+应用程序使用错误IWAM的密码登录系统,启动IIS Out-Of-Process Pooled Applications时,系统会因密码错误而拒绝这一请求,导致IIS Out-Of-Process Pooled Applications启动失败,也就是我们在ID10004错误事件中看到的“不能运行服务器{3D14228D-FBE1-11D0-995D-00C04FD919C1} ”(这里{3D14228D-FBE1-11D0-995D-00C04FD919C1} 是IIS Out-Of-Process Pooled Applications的KEY),不能转入IIS5应用程序,HTTP 500内部错误就这样产生了。
解决办法
手工同步账号
知道了导致HTTP 500内部错误的原因,解决起来就比较简单了,那就是人工同步IWAM账号在Active Directory、IIS metabase数据库和COM+应用程序中的密码。
具体操作分三步,均需要以管理员身份登录计算机以提供足够的操作权限(IWAM账号以IWAM_MYSERVER为例)。
(一)更改Active Directory中IWAM_MYSERVER账号的密码
因IWAM账号的密码由系统控制,随机产生,我们并不知道是什么,为完成下面两步的密码同步工作,我们必须将IWAM账号的密码设置为一个我们知道的值。
1、选择“开始”->“程序”->“管理工具”->"Active Directory用户和计算机",启动“Active Directory用户和计算机”管理单元。
2、单击“user”,选中右面的“IWAM_MYSERVER”,右击选择“重设密码(T)...”,在跳出的重设密码对方框中给IWAM_MYSERVER设置新的密码,这儿我们设置成“Aboutnt2001”(没有引号的),确定,等待密码修改成功。
(二)同步IIS metabase中IWAM_MYSERVER账号的密码
可能因为这项改动太敏感和重要,微软并没有为我们修改IIS metabase中IWAM_MYSERVER账号密码提供一个显式的用户接口,只随IIS5提供了一个管理脚本adsutil.vbs,这个脚本位于C:\\inetpub\\adminscripts子目录下(位置可能会因你安装IIS5时设置的不同而有所变动)。
adsutil.vbs脚本功能强大,参数非常多且用法复杂,这里只提供使用这个脚本修改IWAM_MYSERVER账号密码的方法:
adsutil SET w3svc/WAMUserPass Password
"Password"参数就是要设置的IWAM账号的新的密码。因此我们将IIS metabase中IWAM_MYSERVER账号的密码修改为“Aboutnt2001”的命令就是:
c:\\Inetpub\\AdminScripts>adsutil SET w3svc/WAMUserPass "Aboutnt2001"
修改成功后,系统会有如下提示:
WAMUserPass: (String) "Aboutnt2001"
(三)同步COM+应用程序所用的IWAM_MYSERVER的密码
同步COM+应用程序所用的IWAM_MYSERVER的密码,我们有两种方式可以选择:一种是使用组件服务MMC管理单元,另一种是使用IWAM账号同步脚本synciwam.vbs。
1、使用组件服务MMC管理单元
(1)启动组件服务管理单元:选择“开始”->“运行”->“MMC”,启动管理控制台,打开“添加/删除管理单元”对话框,将“组件服务”管理单元添加上。
(2)找到“组件服务”->“计算机”->“我的电脑”->“COM+应用程序”->“Out-Of-Process Pooled Applications”,右击“Out-Of-Process Pooled Applications”->“属性”。
(3)切换到“Out-Of-Process Pooled Applications”属性对话框的“标志”选项卡。“此应用程序在下列账户下运行”选择中“此用户”会被选中,用户名是“IWAM_MYSERVER”。这些都是缺省的,不必改动。在下面的“密码”和“确认密码”文本框内输入正确的密码“Aboutnt2001”,确定退出。
(4)系统如果提示“应用程序被一个以上的外部产品创建。你确定要被这些产品支持吗?”时确定即可。
(5)如果我们在IIS中将其它一些Web的“应用程序保护”设置为“高(独立的)”,那么这个WEB所使用的COM+应用程序的IWAM账号密码也需要同步。重复(1)-(4)步,同步其它相应Out of process application的IWAM账号密码。
2、使用IWAM账号同步脚本synciwam.vbs
实际上微软已经发现IWAM账号在密码同步方面存在问题,因此在IIS5的管理脚本中单独为IWAM账号密码同步编写了一个脚本synciwam.vbs,这个脚本位于C:\\inetpub\\adminscripts子目录下(位置可能会因你安装IIS5时设置的不同而有所变动)。
synciwam.vbs脚本用法比较简单:
cscript synciwam.vbs [-v|-h]
“-v”参数表示详细显示脚本执行的整个过程(建议使用),“-h”参数用于显示简单的帮助信息。
我们要同步IWAM_MYSERVER账号在COM+应用程序中的密码,只需要执行“cscript synciwam.vbs -v”即可,如下:
cscript c:\\inetpub\\adminscripts\\synciwam.vbs -v
Microsoft (R) Windows Script Host Version 5.6
版权所有(C) Microsoft Corporation 1996-2000。保留所有权利。
WamUserName:IWAM_MYSERVER
WamUserPass:Aboutnt2001
IIS Applications Defined:
Name, AppIsolated, Package ID
w3svc, 0, {3D14228C-FBE1-11d0-995D-00C04FD919C1}
Root, 2,
IISHelp, 2,
IISAdmin, 2,
IISSamples, 2,
MSADC, 2,
ROOT, 2,
IISAdmin, 2,
IISHelp, 2,
Root, 2,
Root, 2,
Out of process applications defined:
Count: 1
{3D14228D-FBE1-11d0-995D-00C04FD919C1}
Updating Applications:
Name: IIS Out-Of-Process Pooled Applications Key: {3D14228D-FBE1-11D0-995D-00C04FD919C1}
从上面脚本的执行情况可以看出,使用synciwam.vbs脚本要比使用组件服务的方法更全面和快捷。它首先从IIS的metabase数据库找到IWAM账号"IWAM_MYSERVER"并取出对应的密码“Aboutnt2001”,然后查找所有已定义的IIS Applications和Out of process applications,并逐一同步每一个Out of process applications应用程序的IWAM账号密码。
使用synciwam.vbs脚本时,要注意一个问题,那就是在你运行synciwam.vbs之前,必须保证IIS metabase数据库与Active Directory中的IWAM密码已经一致。因为synciwam.vbs脚本是从IIS metabase数据库而不是从Active Directory取得IWAM账号的密码,如果IIS metabase中的密码不正确,那synciwam.vbs取得的密码也会不正确,同步操作执行到“Updating Applications”系统就会报80110414错误,即“找不到应用程序{3D14228D-FBE1-11D0-995D-00C04FD919C1}”。
批处理同步
可以用一些BAT来修复这类IE问题的.
好了,到现在为止,IWAM账号在Active Directory、IIS metabase数据库和COM+应用程序三处的密码已经同步成功,你的ASP程序又可以运行了!
把下面的语句复制出来,粘贴到文本文件中.然后把文本文件保存生扩展名为.BAT的文件.例如:ie.bat.双击打开该BAT文件.一步步确定到最后.问题就能解决了.
IE.BAT
rem =====第七频道批处理开始========
rundll32.exe /s advpack.dll /DelNodeRunDLL32 C:\\WINNT\\System32\\dacui.dll
rundll32.exe /s advpack.dll /DelNodeRunDLL32 C:\\WINNT\\Catroot\\icatalog.mdb
regsvr32 /s setupwbv.dll
regsvr32 /s wininet.dll
regsvr32 /s comcat.dll
regsvr32 /s shdoc401.dll
regsvr32 /s shdoc401.dll /i
regsvr32 /s asctrls.ocx
regsvr32 /s oleaut32.dll
regsvr32 /s shdocvw.dll /I
regsvr32 /s shdocvw.dll
regsvr32 /s browseui.dll
regsvr32 /s browseui.dll /I
regsvr32 /s msrating.dll
regsvr32 /s mlang.dll
regsvr32 /s hlink.dll
regsvr32 /s mshtml.dll
regsvr32 /s mshtmled.dll
regsvr32 /s urlmon.dll
regsvr32 /s plugin.ocx
regsvr32 /s sendmail.dll
regsvr32 /s comctl32.dll /i
regsvr32 /s inetcpl.cpl /i
regsvr32 /s mshtml.dll /i
regsvr32 /s scrobj.dll
regsvr32 /s mmefxe.ocx
regsvr32 /s proctexe.ocx mshta.exe /register
regsvr32 /s corpol.dll
regsvr32 /s jscript.dll
regsvr32 /s msxml.dll
regsvr32 /s imgutil.dll
regsvr32 /s thumbvw.dll
regsvr32 /s cryptext.dll
regsvr32 /s rsabase.dll
regsvr32 /s triedit.dll
regsvr32 /s dhtmled.ocx
regsvr32 /s inseng.dll
regsvr32 /s iesetup.dll /i
regsvr32 /s hmmapi.dll
regsvr32 /s cryptdlg.dll
regsvr32 /s actxprxy.dll
regsvr32 /s dispex.dll
regsvr32 /s occache.dll
regsvr32 /s occache.dll /i
regsvr32 /s iepeers.dll
regsvr32 /s wininet.dll /i
regsvr32 /s urlmon.dll /i
regsvr32 /s digest.dll /i
regsvr32 /s cdfview.dll
regsvr32 /s webcheck.dll
regsvr32 /s mobsync.dll
regsvr32 /s pngfilt.dll
regsvr32 /s licmgr10.dll
regsvr32 /s icmfilter.dll
regsvr32 /s hhctrl.ocx
regsvr32 /s inetcfg.dll
regsvr32 /s trialoc.dll
regsvr32 /s tdc.ocx
regsvr32 /s MSR2C.DLL
regsvr32 /s msident.dll
regsvr32 /s msieftp.dll
regsvr32 /s xmsconf.ocx
regsvr32 /s ils.dll
regsvr32 /s msoeacct.dll
regsvr32 /s wab32.dll
regsvr32 /s wabimp.dll
regsvr32 /s wabfind.dll
regsvr32 /s oemiglib.dll
regsvr32 /s directdb.dll
regsvr32 /s inetcomm.dll
regsvr32 /s msoe.dll
regsvr32 /s oeimport.dll
regsvr32 /s msdxm.ocx
regsvr32 /s dxmasf.dll
regsvr32 /s laprxy.dll
regsvr32 /s l3codecx.ax
regsvr32 /s acelpdec.ax
regsvr32 /s mpg4ds32.ax
regsvr32 /s voxmsdec.ax
regsvr32 /s danim.dll
regsvr32 /s Daxctle.ocx
regsvr32 /s lmrt.dll
regsvr32 /s datime.dll
regsvr32 /s dxtrans.dll
regsvr32 /s dxtmsft.dll
regsvr32 /s vgx.dll
regsvr32 /s WEBPOST.DLL
regsvr32 /s WPWIZDLL.DLL
regsvr32 /s POSTWPP.DLL
regsvr32 /s CRSWPP.DLL
regsvr32 /s FTPWPP.DLL
regsvr32 /s FPWPP.DLL
regsvr32 /s FLUPL.OCX
regsvr32 /s wshom.ocx
regsvr32 /s wshext.dll
regsvr32 /s vbscript.dll
regsvr32 /s scrrun.dll mstinit.exe /setup
regsvr32 /s msnsspc.dll /SspcCreateSspiReg
regsvr32 /s msapsspc.dll /SspcCreateSspiReg
rem =====批处理结束========
另:
前面都很顺利,但在“开始”->“设置”->“控制面板”->“管理工具”->“组件服务”中,“控制台根
目录”->“组件服务”->“计算机”-
>“我的电脑”->“COM+应用程序”中,右键启动IIS Out-Of-Process Pooled Applications,发现仍然
报错,没办法重启IIS,发现问题现象
依旧如故,检查上面第三个步骤,输入csript synciwam.vbs -v命令后,返回的脚本执行情况其中最后一
段有一个Error的提示。一段英文,具
体文字描述未能保存下来,意思理解为:IIS的原数据库拒绝访问。
4、万般无奈,删除IIS的组件包,重新建立之,仍然无效。
至此又出现问题了。
查看应用程序日志和系统日志,发现错误提示事件ID号依旧为:10010、36、4205
上述的三个步骤中,前面两步应该都没有问题,最后一步好象有点问题。
根据事件ID号,查找相关资料,找出解决办法如下:
在“开始”->“设置”->“控制面板”->“管理工具”->“计算机管理”中,“系统工具”->“本地用户
和组”->“用户”里面,确认IWAM_My
server用户只在GUEST组内,再在“本地用户和组”->“组”里面,右键点击Users组属性,添加进NT
AUTHORITY\\Authenticated Users和NT
AUTHORITY\\Interactive两个用户成员,确定。
重复第三个步骤,即在IIS安装默认目录下输入:c:\\inetpub\\adminscripts> csript synciwam.vbs -v
根据返回的脚本执行情况进行查看,最后那一段的Error已经没有了,将COM+程序的用户改回为IWAM用户
,重新启动IIS Out-Of-Process
Pooled Applications应用程序,没有再报错了,再重启IIS,检查所有WEB站点服务,故障现象解除!
也就是说到了这一步IIS下面的ASP程序才正式恢复重新启动。
至此,故障现象全部排除!
因此,以下几点需要注意的:
1、事件日志的空间设置稍微放大一些,默认才512K,根据硬盘空间,适当放大一些,避免出现日志文件已满的情况;
2、不要随便轻易清空事件日志中的事件记录,很多故障现象需要从这个里面下手找原因;
3、所有返回的系统提示信息一定要注意仔细查看;
4、IIS中的应用程序保护应为中或高,如为低,则所有ASP页面均以本地系统权限运行,安全性存在问题。
5、COM+程序的用户权限和用户启动权限很重要,应注意检查。
6、系统默认组有时有重要作用,不能轻易删除或修改。
7、系统重要文件(如SAM)不可轻易删除,应尽可能采取妥善的解决方法。如使用外部程序修改注册表或SAM表信息以获得管理员权限。而不要删除该文件。
通过这个问题,偶发现一些看似复杂和不可思议的问题,只要动脑筋,通过仔细查看、分析,再到网上找到一些有关的文章加以对比——但也切忌死搬硬套——找到自己问题的根结所在,再找出相应的解决办法,问题最终总会迎刃而解。
6、IIS 报500错误(服务器内部错误)怎么解决
先打开IIS,在“文档”中添加“index.asp”这个文件名
再按照这个操作试试:
http://blog.csdn.net/hong401/archive/2008/05/27/2488594.aspx
http://blog.csdn.net/hong401/archive/2008/05/10/2426313.aspx
如果还回不行,建议你重新答安装IIS试试。
我也遇到过该问题,我重装IIS后就正常了。
7、网站打开显示500内部服务器错误,是什么原因?怎么解决?
500内部服务器错误(HTTP-Internal Server Error),导致网站无法访问或者空白,通常出现错误提示有两种情况,一是服务器环境或者不支持的组件等原因导致的500错误,这种情况下即使建立一个静态页面也会出现500错误;另一种情况情况是因为服务器环境不稳定时不时的出现500错误,所以要解决此问题需要先弄清楚其到底是哪种原因。如果检测出是500内部服务器错误,请按照以下操作:
首先你要先装好IIS,XP SP2中的应该是5.1版本的,安装方法:
1->打开控制面板,选择添加删除程序
2->选择添加删除组件,选择Internet信息服务,也就是IIS
3->点击下一步安装就好了
安装好之后也许你的机子会正常的显示http://localhost/的页面,显示HTTP 500 内部服务器错误,当然我相信肯定有很多人遇到这种情况,搜索一下就知道有多少了。
解决方法:
首先我们要在Internet Explore中选择工具->Internet选项->高级->显示友好的HTTP错误信息,把这一项前面的对钩取消。
这样刷新一下http://localhost/这个页面就会显示出详细的出错信息,有可能会有其他原因,现在只说我遇到的,也是大多数人遇到的错误原因,也就是下面的错误:
Server Application Error The server has encountered an error while loading an application ring the processing of your request. Please refer to the event log for more detail information. Please contact the server administrator for assistance.
解决方案:
1->右击我的电脑->管理->本地用户和组->用户,给IUSR_机器名和IWAM_机器名两个用户设置密码,要一样
2->开始->运行->输入cmd进入控制台
3->在控制台下输入cd c:\Inetpub\AdminScripts
4->输入cscript.exe adsutil.vbs set w3svc/wamuserpass 你的密码
5->输入cscript.exe adsutil.vbs set w3svc/anonymoususerpass 你的密码
注意这时候控制台不要关闭
刷新http://localhost/如果正常显示出两个页面,说明正常,下面的就可以不去做,如果不行就请继续
6->继续在控制台下输入cscript.exe synciwam.vbs -v
7->如果这时候出现8004e00f错误的话跳过步骤8,直接执行步骤9
8->输入iisreset,重启IIS,刷新http://localhost/,正常
9->开始->运行->输入dcomcnfg->进入组件服务->点击右边的组件服务->计算机->我的电脑->COM+应用程序
报错"COM+ 无法与 Microsoft 分布式事务协调程序交谈",无法查看里面的对象
10->进入事件查看器,发现msdtc服务没有正常启动。
11->开始->运行->输入regedit进入注册表(下面删除的几项最好先导出一下)
12->找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSDTC删除
13->找到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC删除
14->找到HKEY_CLASSES_ROOT\CID删除
15->在控制台下继续输入net stop msdtc停止MSDTC服务
16->输入msdtc -uninstall卸载MSDTC服务
17->输入msdtc -install重新安装MSDTC服务
18->确认在事件查看器中msdtc服务已经正常启动
19->如果没有正常工作,请重新执行第17步骤,多执行几次,这样我们可以看到COM+应用程序可以访问,如果不能重启电脑看下,IIS也应该能正常工作,刷新http://localhost/,刷新页面看下是否成功,如果还是不成功的话,就把IIS重新安装一下。
8、win7系统装了IIS6.0,老是显示HTTP 500内部错误 ,网页无法显示该页面 ,如图所示, 急求高手解决
出现500错误的复原因是很多制的,一般来说,如果程序出错,那么在浏览器内会返回给用户一个友好的错误提示,统一称之为服务器500错误。 解决的方法就是您必须在http中能够正确的获得错误信息,方法为:请打开浏览器,选择工具,internet选项,高级,在高级中的浏览项目里面有一个\"显示http友好错误提示\"的复选框,请取消该复选框,这样您可以获得正确的错误提示。 在获得正确的错误提示之后,您就可以根据该错误提示检查您具体的出错原因了
9、iis6.0 HTTP 500 - 内部服务器错误
ASP中常见的80004005错误原因及解决
错误信息:
Microsoft OLE DB Provider for ODBC Drivers error ’80004005’[Microsoft][ODBC Microsoft Access 97 Driver] The Microsoft Jet databaseengine cannot open the file ’(unknown)’. It is already opened exclusively by another user, or you need permission to view its data.
原因:
这个错误发生在当IIS使用匿名帐号(通常是IUSR)时,该帐号在NT中对数据库所在的目录 没有正确的权限.(这就是为什么在Win95和PWS下没问题,因为win95根本就没有目录权限这一说)
检查文件和目录的权限. 确定你能够在该目录中有能够新建和删除临时文件的权限。
这些临时文件其实是数据库建立在同一个目录下的文件, 但是要注意的是,有可能这些文件也可能建立在别的目录,例如 /Winnt.
使用NT的文件监视程序监视文件失败时到底是访问了什么目录。
这个NT的文件监视程序可以在这个地方下载http://www.sysinternals.com.
如果你对数据库使用了一个网络地址,例如映射地址,就要检查一下共享文件和目录的权限,还要检查一下数据源文件(DSN)是否被别的程序标志成为正在使用中,这些别的程序一般是Visual InterDev,关闭任何一个InterDev中的正打开和数据库连接的项目。
这个错误还可能发生在这种情况:如果在DSN中使用了一个UNC路径(就是通用命名协议),请改用本地路径进行测试,因为如果对本地数据库使用UNC也可能出错。
还可能发生在这种情况,如果服务器要访问Access中的一个表,而这个表却联接在一个网络服务器上。
---------------------------------------------------------------------
错误信息:
Microsoft OLE DB Provider for ODBC Drivers error ’80004005’ [Microsoft][ODBC Microsoft Access 97 Driver] Couldn’t use ’(unknown)’; file already in use.
原因:
多人使用时数据库被锁定。
错误信息:
Microsoft OLE DB Provider for ODBC Drivers error ’80004005’ [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified.
原因:
最可能的原因是ConnectString是一个在global.asa中初始化的Session变量,但是global.asa 却没有正常工作。解决办法是,检查赋值时是否正确:(在你的asp中加入下面的代码)
<%= "’auth_user’ is " & request.servervariables("auth_user")%>
<P>
<%= "’auth_type’ is " & request.servervariables("auth_type")%>
<P>
<%= "connection string is " & session("your_connectionstring")%>
还有一个原因就是你在你的ConnectString中加入了多余的空格,例如
DSN = MyDSN; Database = Pubs;
试试改成下面这个样子:
DSN=MyDSN;Database=Pubs;
如果是global.asa还没有工作,检查该文件是否在运用程序的根目录中,或者是虚拟目录的根目录中。
还有可能错误出现的原因是DSN名称没找着,这可以采用我提供的id=36767的办法解决。
最后是检查是否安装了最新的驱动程序,既是否是最新的MDAC版本。
---------------------------------------------------------------------
错误信息
Microsoft OLE DB Provider for ODBC Drivers error ’80004005’
[Microsoft][ODBC Driver Manager] Data source name not ??
原因:
这个错误有可能是出现在你的计算机上软件安装(或则反安装)的顺序上。
如果ODBC的版本不一致的话,就会发生该错误。
解决办法是安装最新版本的MDAC
---------------------------------------------------------------------
错误信息:
Microsoft OLE DB Provider for ODBC Drivers error ’80004005’[Microsoft][ODBC Access 97 ODBC driver Driver]General error Unable to open registry key ’DriverId’.
原因:
这个错误发生在爱从注册表中读取数值的时候。 使用regedit32.exe检查你的注册表的权限。
你也可以使用NT中的注册表监视程序(NTRegMon)来看读取失败信息。 该程序到这找:http://www.sysinternals.com
错误信息:
Microsoft OLE DB Provider for ODBC Drivers error ’80004005’[Microsoft][ODBC SQL Server Driver][dbnmpntw]ConnectionOpen (CreateFile()).
原因:
两个原因:当一个数据库中包含有分别在不用机器上的许可关系时,
这也可能发生在同一台机器上,当你给一个关系设置了UNC路径,而另一个关系却是本地路径。
错误原因是:
当用户使用IIS匿名帐号登录后,对本地这台机器而言他是有权的,但是对于一个UNC路径的机器,另外这台机器是不会认为你当前匿名登录的帐号在它那上面也是合法的。
这样它就不允许你访问它上面的资源,导致错误。
两个解决办法:
1。在IIS工具中,改变IIS匿名帐号成另外一个基于域的帐号。(也就是不使用匿名登录)
2。或则在那台你要访问资源的机器上也创建一个和当前匿名帐号同样的帐号,使用同样的密码。
---------------------------------------------------------------------
错误信息
Microsoft OLE DB Provider for ODBC Drivers error ’80004005’ Microsoft][ODBC Microsoft SQL Driver] Logon Failed()
原因:
该错误是由SQL Server产生的,当它不接受或则不能够认识这个登录帐号的时候,或者没有使用管理员身份登录,也可能是在NT中没有SQL影射帐号造成的。
使用系统管理员帐号(SA)登录,一般密码应该为空.注意,这时必须使用CoonectString而不能够使用DSN文件。
因为DSN中没有保存用户名和密码。
检查NT是否给SQL映射了帐号。
---------------------------------------------------------------------
错误信息
Microsoft OLE DB Provider for ODBC Drivers error ’80004005’[Microsoft][ODBC SQL Server Driver][SQL Server] Login failed- User: Reason: Not defined as a valid user of a trusted SQL Server connection.
原因:
原因同上。
试试这个办法:在SQL Server的Enterprise Manager中,选择Server/SQL Server/Configure[ASCII 133]/Security Options/Standard.
如果是运行在IIS4中,取消选择该项目的Password Synchronization选项。
错误信息
Microsoft OLE DB Provider for ODBC Drivers error ’80004005’ [Microsoft][ODBC Microsoft Access 97 Driver] Couldn’t lock file.
原因:
也许是没有正确的权限生成Access数据库的锁定文件(.ldb)默认时,该文件和你的数据库是同一个目录的。给匿名帐号全权访问数据库共享目录的权限。
有时是因为文件是因为共享时有意使用了只读的权限限制。试试使用下面的代码。
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Mode = adModeShareDenyWrite ’8
---------------------------------------------------------------------
错误信息
Microsoft OLE DB Provider for ODBC Drivers error ’80004005’ [Microsoft][ODBC Microsoft Access 97 Driver] ’(unknown)’ isn’t a valid path. Make sure that the path name is spelled correctly and that you are connected to the server on which the file resides.
原因:
路径非法。最可能发生在当Global.asa和CoonecntString被使用到另外一台机器上的时候。
---------------------------------------------------------------------
错误信息
Microsoft OLE DB Provider for ODBC Drivers error ’80004005’ [Microsoft][ODBC SQL Server Driver][SQL Server] The query and the views in it exceed the limit of 16 tables.
原因:
查询太复杂了,对查询有限制。
---------------------------------------------------------------------
错误信息:
Microsoft OLE DB Provider for ODBC Drivers error ’80004005’ [Microsoft][ODBC SQL Server Driver][DBMSSOCN] General network error. Check your network document
原因: 当装有SQL Server的机器改名的时候。但是DSN还使用了原来的机器名。
10、IIS7 http 500 内部服务器错误 ,怎样设置显示错误原因?
我在调试的时候也出现这样的500错误,根据提示显示了错误原因也内解决不了问题,后来百容度到,说是先按照的.NET 2.0,后装的IIS ,导致.NET 没有注册,现在.NET 编译环境下删除.NET ,再安装.NET ,再重装IIS,调试成功,没有500错误了!
选择IE浏览器--工具--Internet选项。
在高级选项框中将“显示友好HTTP错误信息”的勾选去掉。