【问题标题】:VBScript works from command line but doesn't work as ASP scriptVBScript 从命令行工作,但不能作为 ASP 脚本工作
【发布时间】:2012-07-23 16:04:41
【问题描述】:

我有以下代码在命令行中作为 VBScript 工作:

Set FRELoader = Server.CreateObject( "FREngineWrap.FRELoader" )
Set Engine = FRELoader.Load

当我把它放到 ASP 页面中时:

<%@ Language=VBScript %>
<%
Set FRELoader = Server.CreateObject( "FREngineWrap.FRELoader" )
Set Engine = FRELoader.Load
%>

它不起作用:

错误类型: (0x80004005) 未指定的错误 /test.asp,第 4 行

我这里有 IIS 5.1

【问题讨论】:

  • 这玩意儿有什么作用?

标签: iis dll asp-classic vbscript activex


【解决方案1】:

问题肯定出在 FREngineWrap.FRELoader 中,而不是在您的 ASP 代码中。请记住,当从 VBScript 运行时,程序会在您的用户上下文中运行 - 例如作为用户“MYDOMAIN\alex347”。

当您从 ASP 运行程序时,它会在您使用的任何 IIS 安全上下文中运行。这通常会导致问题,特别是如果 IIS 用户无权访问您可以访问的文件,例如 MYDOMAIN\alex347。

如果您有 FRELoader 的源代码,您可以检查并查看它在哪里引发错误。否则,您可能必须尝试更改 IIS 安全设置。

编辑:这里是如何修改 IIS 以便它使用不同用户的凭据的链接。尝试将 IIS 的凭据更改为您的用户名,看看它是否有效。 http://technet.microsoft.com/en-us/library/cc730708(v=ws.10)

【讨论】:

    【解决方案2】:

    这是一个数据库连接错误。检查您的连接字符串。

    【讨论】:

    • 我不使用任何数据库。正如我提到的,它可以从命令行工作
    • @alex347 也许FRELoader.Load 使用数据库?那是你的代码吗?
    猜你喜欢
    • 2011-05-11
    • 1970-01-01
    • 2014-06-12
    • 2015-04-12
    • 2013-08-31
    • 2015-11-15
    • 2011-03-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多