【问题标题】:Infinity error on SQL, FMTONLYSQL,FMTONLY 上的无穷大错误
【发布时间】:2012-11-26 19:22:26
【问题描述】:

我正在使用 ASP Classic 连接到数据库,当我尝试执行不存在的 proc 时,永远不会返回错误并且 SQL Profiler 继续调用:

SET FMTONLY OFF
SET FMTONLY OFF
SET FMTONLY ON  EXEC gpa_proctest_  SET FMTONLY OFF
SET FMTONLY ON  EXEC gpa_proctest_  SET FMTONLY OFF

我的网络应用程序一直在等待错误。

这是我的 ASP:

set cmd = Server.CreateObject("ADODB.Command")        
cmd.ActiveConnection = conn 'connection string
cmd.CommandText = "gpa_proctest_"
cmd.CommandType = adCmdStoredProc

cmd.Parameters.Append cmd.CreateParameter("@ID_PRJ", adInteger, adParamInput, , 33)
cmd.Parameters.Append cmd.CreateParameter("@LINHA", adChar, adParamInput, 1, "A")

set Rs1 = Server.CreateObject("ADODB.RecordSet")
Rs1.CursorLocation = adUseServer
Rs1.CursorType = adOpenStatic

Rs1.Open cmd

谁能帮帮我?

Tks.

【问题讨论】:

    标签: tsql stored-procedures asp-classic fmtonly


    【解决方案1】:

    我似乎无法发布 cmets,只能发布答案,对此深表歉意。

    如果您同时删除“SET FMTONLY”,您会遇到同样的问题吗?如果没有,请尝试在存储过程中使用 SET FMTONLY 而不是在其外部。这可能会帮助您在 proc 不存在时获得您正在寻找的错误。

    【讨论】:

    • 我没有使用 FMTONLY,我从不使用此命令,但 Profiler 显示这可能在后台执行。但是,我发现真正的问题是关于 ON ERROR RESUME NEXT (ASP Classic)。这导致了奇怪的循环并冻结了我的数据库。
    • 您使用的是什么类型的 SQL 提供程序?例如SQLOLEDB
    • 我没有在我的连接字符串上设置提供程序:conn = "Driver={SQL Server}; Server=" & conn_server &"; Database="& conn_database &"; UID="& conn_uid & "; PWD="& conn_pwd
    猜你喜欢
    • 2022-08-12
    • 2014-02-14
    • 2017-02-25
    • 2019-03-19
    • 2013-11-29
    • 1970-01-01
    • 2014-05-08
    • 2011-02-02
    • 2011-06-27
    相关资源
    最近更新 更多