1

我一直在尝试为公司本地 Intranet 集成 NewsLetter,但我一直遇到每个人似乎都遇到的相同错误。我在 IIS 5.1 上运行它,并且在 Server.CreateObject(ADODB.Connection) 处存在错误,ASP 代码的目的也是读取 Excel 文件

错误类型:服务器对象,ASP 0196 (0x80040154) 仅应使用 InProc 服务器组件。如果要使用 LocalServer 组件,则必须设置 AspAllowOutOfProcComponents 元数据库设置。请查阅帮助文件以了解重要的注意事项。

我已经尝试了找到我的 AdminScripts 目录并使用cscript adsutil.vbs set /w3svc/aspallowoutofproccomponents True将布尔值设置为 True 的解决方案,然后通过cscript adsutil.vbs enum /w3svc > verify.txt 进行验证

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

看到这些错误消息我感到畏缩,请结束我的噩梦。

4

2 回答 2

1

首先是一个奇怪的错误。为什么将简单的 ADODB.Connection 对象视为进程外组件?

我能想到的唯一可能导致这种情况的是,如果有人不小心将 ADO dll 拖到 COM+ 服务中。检查 COM+ 服务集有什么异常安装在那里吗?

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

启用进程外组件不是 ADODB.Connection 不应该是进程外的答案。

下一步

{00000514-0000-0010-8000-00AA006D2EA4}启动Regedit,在Keys中找到下面 的键值HKEY_CLASSES_ROOT

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

ProgID 应该ADODB.Connection.2.8.

于 2009-09-01T18:53:22.467 回答
0

我不得不使用:

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

在命令窗口中出现 InProcServer32 键,谢谢 Anthony。

现在一切都正常了。我的噩梦结束了!

于 2009-09-08T16:45:58.557 回答