Microsoft VBScript 运行时错误 错误 '800a01ad

Microsoft VBScript 运行时错误 错误 '800a01ad'
ActiveX 部件不能创建对象: 'Scripting.FileSystemObject'其实这个问题比较常见,报错原因是服务器不支持FSO组件。像风讯、科汛、动易这些ASP的主流CMS系统中经常会遇到这种情况,因为他们都是采取静态生成机制的,需要FSO组件支持。在开始之前,你有必要先用ASP探针测试下服务器对FSO组件的支持情况,通常我们使用的是Windows 2003系统的服务器。

下面说下我的具体解决思路,对每一种可能会产生报错的原因都作了相应分析,希望对你能有所帮助。
1)“scrrun.dll”文件未注册。行C:WINDOWSsystem32文件夹下,看下有没有scrrun.dll文件。如果没有,就去系统安装目录i386文件夹中拷贝一个过来。接下来,开始菜单->运行以下命令注册一下FSO组件即可:
regsvr32.exe %windir%/system32/scrrun.dll这样就开启了服务器对FSO组件的支持,如果你想关闭FSO组件,则运行以下命令:
regsvr32.exe /u %windir%/system32/scrrun.dll正常到这里,你的问题就可以解决了。

2)如果还不行,检查一下浏览器是否禁用了ActiveX控件。正常是不会的,除非是服务器,安全级别才会严格限制。如果存在这种情况,那就把浏览器的安全级别调整为中低即可。
3)你的服务器本身就不支持FSO组件。
4)考虑权限问题。依次执行如下操作:
开始菜单->运行->regedit->确定,依次找到HKEY_CLASSES_ROOTScripting.FileSystemObject,右键“权限”,加上Everyone、Internet来宾帐号(IUSR...)用户的权限,重启IIS即可解决。5)附:服务器不支持Scripting.Dictionary组件的解决办法
通过以上几步就能完美解决ActiveX创建对象失败的问题了。如果还出现不支持Scripting.Dictionary组件的问题,解决办法也是类似的,参考第一步执行regsvr32.exe %windir%/system32/scrrun.dll命令即可。如果还没解决,则考虑权限问题,可以参照第四步到注册表中给这个对象添加下权限即可。举一反三,如果再遇到类似问题的话,知道怎么去解决了吧!
6)附:Server.CreateObject 失败解决办法。我们执行程序的时候可能会提示类似错误,如下:
服务器对象 错误 'ASP 0177 : 800401f3'
Server.CreateObject 失败

/include/test.asp,行38打开test.asp,检查源码38行附近,看下创建对象的写法有没有错误,标准写法应该是:
<% Set fso = Server.CreateObject("Scripting.FileSystemObject") %>这种情况大多是程序员粗心导致的。其实,Scripting.FileSystemObject组件是可以改名的,这样会增加服务器的安全性,我们可以在注册表中更改,方法如下:
开始菜单->运行->regedit->确定,依次找到HKEY_CLASSES_ROOTScripting.FileSystemObject,右键“重命名”,
再执行第一步注册下scrrun.dll文件即可。注意一点,你写程序的时候要以这个新名称创建对象,否则会报错。7)附:IIS自带组件
有没有发现一点,这些问题的原因都出在IIS自身组件身上,下面提供下常见的IIS组件,以供参考:

MSWC.AdRotator
MSWC.BrowserType
MSWC.NextLink
MSWC.Tools
MSWC.Status
MSWC.Counters
SWC.PermissionChecker
WScript.Shell
Microsoft.XMLHTTP
Scripting.FileSystemObject
ADODB.Connection

时间: 2024-12-09 15:41:27

Microsoft VBScript 运行时错误 错误 '800a01ad的相关文章

Microsoft VBScript 运行时错误 错误 &#039;800a0005&#039; 无效的过程调用或参数: &#039;chr&#039;_应用技巧

 昨天给公司服务器重做了一下系统,遇到Asp附件无法上传,之前服务器上使用好好的,怎么重做了就不正常了,于是一番google,baidu,下面将解决办法送出,帮助碰到该问题的朋友少走弯路: 1,权限问题       请确保您所上传文件的文件夹"来宾用户"有可写入的权限,有的是存入数据库的,也要有修改权限.  2,文件大小限制       IIS 6 出于安全考虑, 默认最大请求200K(也即最大提交数据限额为200KByte, 204800Byte).        解决办法:   

Microsoft VBScript 运行时错误 错误 '800a0005' 无效的过程调用或参数: 'chr'

昨天给公司服务器重做了一下系统,遇到Asp附件无法上传,之前服务器上使用好好的,怎么重做了就不正常了,于是一番google,baidu,下面将解决办法送出,帮助碰到该问题的朋友少走弯路:  1,权限问题 请确保您所上传文件的文件夹"来宾用户"有可写入的权限,有的是存入数据库的,也要有修改权限. 2,文件大小限制 IIS 6 出于安全考虑, 默认最大请求200K(也即最大提交数据限额为200KByte, 204800Byte). 解决办法:       关闭 IIS Admin Serv

Microsoft VBScript 运行时错误 错误 &#039;800a0046&#039; 没有权限_win服务器

找到c:\windows目录中的scrrun.dll文件,设置属性中的安全,加入user组,并给予读取和运行.读取即可. 你也可以把网站放到FAT32分区试一下.因为在NTFS分区,有关于权限问题有一些程序莫明其妙就出错了 办法:检查是否在II S 中对整个网站打开了"写入"权限,而不仅仅是数据库文件.检查是否在WIN2000 的资源管理器中,将网站所在目录对E v ery O n e 用户打开所有权限.具体方法是:打开"我的电脑",找到网站所在文件夹,在其上单击右

Microsoft VBScript 运行时错误 800a01ad 解决办法总结

错误提示 Microsoft VBScript 运行时错误 错误 '800a01ad' ActiveX 部件不能创建对象: 'scripting.FileSystemObject' /adminyyy/jingtai.asp,行 10 ActiveX 部件不能创建对象: 'server.createobject' 查了源码,是不能成功创建fso,源码是这样的:set fso=server.createobject("scripting.filesystemobject") 解决方法:

Microsoft VBScript 编译器错误 错误原因 代码大全_应用技巧

Microsoft VBScript 编译器错误 错误 '' 缺少语句 ActiveServerPages,ASP0126(0x80004005)-->找不到包含文件 MicrosoftOLEDBProviderforODBCDrivers(0x80040E21)-->sql语句出错(数据类型不匹配或表名(字段名)错误或表处于编辑状态,或表不存在于conn打开的数据库中) MicrosoftOLEDBProviderforODBCDrivers(0x80040E14)-->sql语句出错

Microsoft VBScript 编译器错误 错误原因 代码大全

Microsoft VBScript 编译器错误 错误 '' 缺少语句 ActiveServerPages,ASP0126(0x80004005)-->找不到包含文件 MicrosoftOLEDBProviderforODBCDrivers(0x80040E21)-->sql语句出错(数据类型不匹配或表名(字段名)错误或表处于编辑状态,或表不存在于conn打开的数据库中) MicrosoftOLEDBProviderforODBCDrivers(0x80040E14)-->sql语句出错

Microsoft VBscript运行时错误\800a000d\的解决方案

microsoft|vbscript|错误|解决 在使用vbscript进行asp开发时,一些朋友会碰到以下类似的错误:Microsoft VBscript 运行时错误 '800a000d' 类型不匹配: '*******' /solweb/sdbottm_right.asp, line 80 错误原因:该错误是因为在运行iis服务的windows 2003 server上安装了Internet Explorer 6 Service Pack 1 (KB832894)安全更新造成的. 解决方案:

Microsoft VBScript 运行时错误 (0x800A01A8)缺少对象: &#039;&#039;

Microsoft VBScript 运行时错误 (0x800A01A8) 缺少对象: '' 原因是我调用函数时没有定义全局变量,开始程序是这样的.b_connect.asp文件代码如下. sub open_bbs()  set sqlrs=server.CreateObject("adodb.recordset")  set sqlcn=server.createobject("adodb.connection")  sqlconstr="driver=

Microsoft VBScript 编译器错误 错误 &amp;amp;#39;800a0401&amp;amp;#39; 语句未结束

问题描述 Microsoft VBScript 编译器错误 错误 '800a0401' 语句未结束 Microsoft VBScript 编译器错误 错误 '800a0401' 语句未结束 /upload2.asp,行 35 Recordset2_cmd.CommandText = "SELECT * FROM 鸿城幼稚园 WHERE (([托费到期日期]>=Date()) AND ((鸿城幼稚园.托费到期日期)<DateAdd("d",7,Date()))) O