Server.CreateObject的调用失败拒绝对此对象的访问的解决方法
Server.CreateObject的调用失败拒绝对此对象的访问的解决方法
发布时间:2016-12-26 来源:查字典编辑
摘要:今天把一个网站的数据从win2000服务器转移到了win2003服务器上,然后调试,发现在用aspjpeg组件上传图片的时候,提示出错:其实...

今天把一个网站的数据从win2000服务器转移到了win2003服务器上,然后调试,发现在用aspjpeg组件上传图片的时候,提示出错:

其实很多时候是因为你安装的插件权限设置不当造成的。应该坚持你最近安装了什么组件。

最终找到了解决“检查权限时,对Server.CreateObject的调用失败,拒绝对此对象的访问”的方法:

windows server 2003默认的安全级别太高了,找到你组件所在的安装目录,右键/属性/安全,添加everyone(我用的是IUSR_WD)的可执行权限,再上传试试看,是不是ok了?

我用到aspjpeg和aspupload两个组件,所以这2个安装目录都给予IUSR_WD可执行权限。

Server.CreateObject的调用失败拒绝对此对象的访问的解决方法1

Server对象错误'ASP0178:80070005'

Server.CreateObject访问错误

/upzip/up023ff.asp,行49

检查权限时,对Server.CreateObject的调用失败。拒绝对此对象的访问。

找到第49行,发现是:

SetPhoto=Server.CreateObject("Persits.Jpeg")'建立对象

问题原因出来了,Aspjpeg组件调用的权限不够,这是由于默认的win2003服务器的安全设置太高,导致Aspjpeg组件的上传权限不够。必须对win2003服务器做相关的设置,才能解决问题。

解决方法:

1、调用Server.CreateObject("Persits.Jpeg")的时候发生错误,解决如下:

开始->运行->dcomcnfg

找到"aspjpeg"(这个名称取决于你调用的Object是什么),然后右键->属性->安全把读写权限都给everyone即可。

2、也可以把aspjpeg.dll的读写权限赋给相关的用户。在aspjpeg.dll上右键--属性--安全----添加--高级--立即查找--添加users,默认读取、读取和运行权限即可。

3、IIS里->目录安全性->编辑->匿名访问去勾->确定后可以访问了,然后再重新设置一遍,把匿名访问加勾,以后就可以正常访问了。

补充:微软的知识库里面搜索了一下找到一篇,他说设置一下%ProgramFiles%CommonFilesSystem的权限:AddEveryonetotheexistingpermissions,giveatleastReadpermissionstoEveryone,andapplythesenewsettingstoallfilesandsubfolders.

这里要赋予Everyone可以读和可以修改的权限,光光给可读的权限是不够的,必须给可修改(或可写)的权限,才能解决该错误。

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新应用技巧学习
热门应用技巧学习
网页设计子分类