Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp classic ASPALLOWOUTOFPROC组件错误:多个解决方案,一个程序员,没有修复_Asp Classic_Adodb_Iis 5_Createobject - Fatal编程技术网

Asp classic ASPALLOWOUTOFPROC组件错误:多个解决方案,一个程序员,没有修复

Asp classic ASPALLOWOUTOFPROC组件错误:多个解决方案,一个程序员,没有修复,asp-classic,adodb,iis-5,createobject,Asp Classic,Adodb,Iis 5,Createobject,我一直在努力为一家公司的本地内联网集成一份时事通讯,我一直遇到每个人似乎都会遇到的相同错误。我在IIS 5.1上运行此代码,并且Server.CreateObject(ADODB.Connection)中存在错误,ASP代码的目的也是读取Excel文件 错误类型: 服务器对象,ASP 0196(0x80040154) 只能使用InProc服务器组件。如果要使用LocalServer组件,必须设置AspAllowOutoProcComponents元数据库设置。有关重要注意事项,请参阅帮助文件。

我一直在努力为一家公司的本地内联网集成一份时事通讯,我一直遇到每个人似乎都会遇到的相同错误。我在IIS 5.1上运行此代码,并且Server.CreateObject(ADODB.Connection)中存在错误,ASP代码的目的也是读取Excel文件

错误类型: 服务器对象,ASP 0196(0x80040154) 只能使用InProc服务器组件。如果要使用LocalServer组件,必须设置AspAllowOutoProcComponents元数据库设置。有关重要注意事项,请参阅帮助文件。

我已尝试使用cscript adsutil.vbs set/w3svc/aspallowoutofproccomponents True定位到AdminScripts目录并将布尔值设置为True,然后通过cscript adsutil.vbs enum/w3svc>verified.txt进行验证

打开文本文件,它确实显示该值设置为true,但我在尝试访问ASP页面时再次遇到相同的错误。我不知所措,我想在阅读了所有这些人的帖子后,我会自己问这个问题


我一看到错误信息就畏缩,请结束我的噩梦。

首先是一个bizare错误。为什么简单的ADODB.Connection对象会被视为进程外组件

我所能想到的唯一可能导致这种情况的原因是,有人不小心将ADO dll拖到COM+服务中。检查COM+服务集是否安装了任何异常情况

在尝试修复时,您可以从Microsoft的下载区域下载最新的MDAC,然后在您的计算机上重新安装

将进程外组件启用到不是ADODB的答案。连接不应处于进程外

下一步

启动Regedit,在键中查找下的
{00000514-0000-0010-8000-00AA006D2EA4}
的键值
HKEY\U CLASSES\U ROOT

您应该找到具有默认值的InprocServer32键:
C:\Program Files\Common Files\system\ado\msado15.dll


ProgID应该
ADODB.Connection.2.8

首先是一个bizare错误。为什么简单的ADODB.Connection对象会被视为进程外组件

我所能想到的唯一可能导致这种情况的原因是,有人不小心将ADO dll拖到COM+服务中。检查COM+服务集是否安装了任何异常情况

在尝试修复时,您可以从Microsoft的下载区域下载最新的MDAC,然后在您的计算机上重新安装

将进程外组件启用到不是ADODB的答案。连接不应处于进程外

下一步

启动Regedit,在键中查找下的
{00000514-0000-0010-8000-00AA006D2EA4}
的键值
HKEY\U CLASSES\U ROOT

您应该找到具有默认值的InprocServer32键:
C:\Program Files\Common Files\system\ado\msado15.dll

ProgID应该
ADODB.Connection.2.8

我必须使用:

Regsvr32.exe“C:\Program Files\Common Files\system\ado\Msado15.dll”

在命令窗口中显示InProcServer32键,谢谢

现在一切都好了。我的噩梦结束了

我不得不使用:

Regsvr32.exe“C:\Program Files\Common Files\system\ado\Msado15.dll”

在命令窗口中显示InProcServer32键,谢谢


现在一切都好了。我的噩梦结束了

我试图重新安装,但它说不兼容的类型,所有的MDAC都已经安装,我已经检查了COM+服务,没有任何可疑之处。我在运行Windows XP的工作计算机上运行intranet,这有区别吗?这是我能想到的唯一一件事。我试图在regedit中查找,但找不到InprocServer32键,我甚至检查了HKLM\Software\Classes\CLSD\{00000514-0000-0010-8000-00AA006D2EA4},发现默认值未设置,子文件夹ProgID的值为“ADODB.Connection.2.8”但是没有InProcServer32,因此存在对应于ADODB.Recordset.2.8、ADODB.Parameter.2.8等的InProcServer32键。为什么不使用ADODB.Connection.2.8?为什么ASP这么恨我/我当然觉得那台机器上没有正确安装MDAC。是时候让您调查机器上还安装了什么,并发现“不兼容类型”的真正含义了。通过各种方式,您需要正确安装MDAC。我曾尝试重新安装,但它显示类型不兼容,并且所有MDAC都已安装,我已检查COM+服务,没有任何可疑之处。我在运行Windows XP的工作计算机上运行intranet,这有区别吗?这是我能想到的唯一一件事。我试图在regedit中查找,但找不到InprocServer32键,我甚至检查了HKLM\Software\Classes\CLSD\{00000514-0000-0010-8000-00AA006D2EA4},发现默认值未设置,子文件夹ProgID的值为“ADODB.Connection.2.8”但是没有InProcServer32,因此存在对应于ADODB.Recordset.2.8、ADODB.Parameter.2.8等的InProcServer32键。为什么不使用ADODB.Connection.2.8?为什么ASP这么恨我/我当然觉得那台机器上没有正确安装MDAC。是时候让您调查机器上还安装了什么,并发现“不兼容类型”的真正含义了。通过各种方式,您需要正确安装MDAC。