当前位置: 首页 > 图文教程 > 网络编程 > ASP > ASP Error 0115的一些解决办法

ASP
asp+语法教程(三)asp+的服务器端编程初步
asp+语法教程(四)asp+的服务器端编程进介
asp+语法教程(五)asp+的服务器端编程控件篇
asp+语法教程(六)数据库篇
从ASP迁移至ASP+
从ASP迁移至ASP+ --进入DataSet
从ASP迁移至ASP+ --HTML表格转换为ASP+列表
从ASP迁移至ASP+ --转换其他的页面
从ASP迁移至ASP+ --处理会话变量
ASP十步进阶
asp.net高级教程(一)-asp.net还是asp+ ?
asp.net高级教程(二)- 转换编程思维
asp.net高级教程(三)-对象
asp.net高级教程(三)-实战篇
asp.net高级教程(五)-实战篇(中)
ASP+中文教程(一)--asp+简介、安装、以及如何显示中文
asp+中文教程(二)-- Asp+ Web Forms
APS + 中文教程(三)--服务器端控制(一)
SQL数据操作基础(初级) 4
SQL数据操作基础(初级) 5

ASP Error 0115的一些解决办法


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 112 ::
收藏到网摘: n/a

          ASP Error '0115'的一些解决办法
总的看法:
ASP Error 0115意味着你的asp中的一个组件调用失败,并且同时ASP
不能够从这个失败中获取更多的错误信息了。

Error 'ASP 0115'
Unexpected error
/scripts/<filename>
A trappable error occurred in an external object. The script cannot continue running.


ASP Error '0115'对于ASP开发者来说是一个噩梦,这个错误意味着
ASP使用的一个组件已经Crash掉了。最致命的是你还不能够得到更多的更详细的出错信息。
所以这有很多的可能会导致这个错误,从而也导致了有很多不同的解决办法。
下面是几个比较经典的解决方案:
(一) (对于IIS 3/4来说):
服务端程序的安装顺序:
    有的时候当你在服务端按照错误的顺序安装了新的软件后,一些版本新的DLL被旧版本的给覆盖了,
可气的是,你通常都不被通知这些关键的动态连接库被覆盖了.在这些出错中,你尤其应该注意的是当你
安装了任何一个涉及到VB5的数据组件时(dll,ocx),ADO的DLL并没有被VB5的安装程序中带的旧版本给覆盖,.
VB5的安装程序而是将旧版本的dll安装到windows\system 或则 winnt\system32目录中,并且在这些目录中注册了
这些dll(它们将在你的注册表中替换掉你的新版本dll在IIS中的的注册默认目录位置),
要解决由于VB5带来的麻烦就是重新再注册你原来的dll。
(二) 一个安装服务端程序时的推荐顺序:
Windows NT 4.0
NT 4.0 Option Pack (IIS 4等)
NT 4.0 SP4
SQL Server 7.0
MDAC 2.0 SP2
IE 5.0
(三) MDAC版本导致的错误:
安装最新的MDAC版本能够帮助你解决好多莫名其妙的ASP 0115错误。最新的版本可以去微软的站点下载。
(四) 由于匿名帐号引起的安全问题:
匿名帐号的权限决定了你的ASP中需要访问到的组件中某些函数的正确性.
a) 如果没有给用户相应的访问权限,ADO的DLL将抱错:'0115' error.
b) 确信你的匿名帐号能够访问如下目录:System32目录,InetPub目录,你的RDBMS安装的目录以及ADO DLL所在的目录
(五)提交Form时出现的错误
这个错误请参考MSDN中的文章id为Q173741
(六)糟糕的代码习惯导致的错误:
有些时候'0115'是由于你糟糕的代码导致的(不过也许同样的代码由于运气不同,在不同的机器上不会发生错误)
a) 当一个页面提交一个Form给本身时,没有给该form的name属性赋值
b) 在编写dll时没有声明类型本来为variant的变量为variant
c) 在调用一个不存在的存储过程时,或则调用该存储过程的参数传递错误。
(六)对于使用IIS 3的编程人而言:
a)Session 对象导致的出错:
请参考MSDN中的文章KB Article: Q177036
b)ADO 2.0:
在IIS3中安装了ADO 2.0导致出错,请参考MSDN中的文章:KB Article: Q193310