【问题标题】:Classic ASP Microsoft VBScript runtime error '800a01a8' when Creating Object创建对象时出现经典 ASP Microsoft VBScript 运行时错误“800a01a8”
【发布时间】:2018-04-12 21:18:54
【问题描述】:

我正在运行 Windows 8 IIS 8.5。以下两行代码生成错误响应。我想指出,当在本地作为 .vbs 脚本运行时,代码工作得很好。我唯一需要删除的是服务器。并且只是做一个我也尝试通过经典 ASP/IIS 无济于事的 CreateObject。

代码:

Dim oXMLHTTP
Set oXMLHTTP = Server.CreateObject("Msxml2.ServerXMLHTTP.6.0")

回复:

Microsoft VBScript 运行时错误“800a01a8”
所需对象:''

【问题讨论】:

  • 错误出现在哪一行?我怀疑这是其中之一。
  • 这两行是唯一的行。我删除了其他所有内容以查看导致错误的原因。同样,如果我将其完全保存为 .vbs 文件,它就可以工作,并且我实际上可以获得带有附加代码的网页。从我读到的非常过时的花絮中,这个问题可能/可能与 IIS 对 Msxml DLL 文件的路径/文件夹的某些权限无关,但我尝试为我能找到的所有路径授予过多的权限无济于事。
  • 对一个在互联网上散布而没有很多解决方案的问题投反对票??严重地?? Stack 对我来说太浮夸了。
  • 已解决 - 归结为通过所有 DLL 并确保它们已注册并且 IIS 有权访问文件夹/文件以及读取类注册表项的权限。下次再仔细看看@Lankymart
  • 对不起,下次你需要写一个更好的问题。如果您发布更多代码而不是这两行代码会更好,这不是您在 VBScript 中创建 COM 引用失败时遇到的常见错误。权限总是一个问题,但也有架构,这是运行 32 位还是 64 位等。细节不存在,所以你认为浮夸的我认为无法连贯地解决问题。

标签: vbscript asp-classic


【解决方案1】:

我不知道这些步骤中的哪一个解决了这个问题,因为我没有在每个步骤之间暂停,但其中一个解决了它。仅供参考,我确信因为这两行在 .vbs 脚本中工作得很好,所以它必须是 IIS 和与所涉及的 DLL 相关的注册表/文件/文件夹的权限。

步骤 1. 在注册表中搜索对象名称。在这种情况下“Msxml2.ServerXMLHTTP.6.0”

第 2 步。对于所有注册表项,我拥有父注册表文件夹的所有权,因此我可以授予对 IIS 用户帐户的读取权限。

步骤 3. 使用执行步骤 #1 时找到的 DLL 的物理文件路径。我去确保文件/文件夹具有 IIS 用户帐户的读取/执行权限。

步骤 4. 在命令行中注册 DLL 以获得良好的效果。

第 5 步。重新启动,因为重新启动 IIS 似乎没有这样做。
* 重新启动问题解决后,我能够继续添加代码并有效地使用该对象*

【讨论】:

  • 感谢发帖。
  • 没有问题 Lankymart - 我也来自你的时代,没有网络,没有谷歌,你被限制在尽可能多的大书里,你可以随身携带或买得起那些没有'几乎没有所有答案,但可能会帮助您推断或得出一种具有创造力的方法...所以请相信我,我不是靠简单答案为生的人,也不是那些出汗的人...所以我觉得你在那..
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多