【问题标题】:Server.Create Object Failed errorServer.Create 对象失败错误
【发布时间】:2012-01-30 15:50:13
【问题描述】:

我正在调试一些旧的 ASP 代码并偶然发现以下错误:

Server.CreateObject 失败

这是我得到错误的代码行:

Set Session("SessionBoolian") = Server.CreateObject("DBUtils.SQLExpression")

DBUtils.SQLExpression 位于何处?我似乎无法在代码中找到对它的引用。它是如何设置的?

我的 bin 文件夹中有一个 DBUtils.dll,有没有办法查看 DLL 内部是否有 SQLEXpression 方法?

【问题讨论】:

  • 设 X 为默认值 hkcr\DBUtils.SQLExpression\CLSID 的 GUID(在注册表中),查看 hkcr\clsid\X\inprocserver32 可以看到它使用的 dll - 它需要注册,并且 iis 站点使用的任何帐户都需要相应的权限

标签: asp-classic regsvr32 createobject


【解决方案1】:

DBUtils.SQLExpression 很可能是一个 ActiveXDLL。最好的办法是搜索 DBUtils.dll 或 DBUtils.SQLExpression.dll 文件。

如果可用,您可能需要使用 regsvr32 将其注册到 COM 服务器,即在运行对话框中键入 regsvr32 D:\MyPath\DBUtils.dll 并按 Enter。

在会话中设置 ActiveXObject 之前,您可能还想进行一些错误处理,看看究竟是什么错误。像这样的:

Dim sqlExpression
sqlExpression = Nothing

On Error Resume Next
Set sqlExpression = Server.CreateObject("DBUtils.SQLExpression")

If Err.Number <> 0 then
    Response.Write "#: " & Err.Number & ", Source: " & Err.Source & ", Description: " & Err.Description
Else
    'Rest of your code
End If

【讨论】:

    【解决方案2】:

    好像是第三方的active-x插件。您发布的代码 sn-p 创建了一个实例并保存到具有属性“SessionBoolian”的视图中。

    【讨论】:

      猜你喜欢
      • 2013-07-29
      • 2013-04-09
      • 2013-11-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-12
      • 2013-05-02
      • 2012-10-08
      相关资源
      最近更新 更多