CF11 更新 5 后,cfstoredproc 不再 returns 结果

cfstoredproc no longer returns results after CF11 update 5

我有几个 SQL Server 2008 存储过程。我通过 cfstoredproc 调用它们。在我 运行 4 月 17 日更新 CF 服务器后,CF 不再获取结果。这是调用之一:

<cfstoredproc procedure="proc_xxxx" datasource="#application.dsn#" debug="yes" returnCode="yes">
<cfprocparam type="in" cfsqltype="cf_sql_integer"  dbvarname="@myID" value="#arguments.myID#">
<cfprocparam type="in" cfsqltype="cf_sql_varchar"  dbvarname="@EmailAddr" value="#trim(arguments.emailAddress)#"  null="#not len(arguments.emailAddress)#">
<cfprocparam type="out" cfsqltype="cf_sql_integer" dbVarName="@NewUserID"  variable="newUserID" > 
<cfprocresult name="qryUser">   
</cfstoredproc>

<cfoutput>newUserID = #newUserID#</cfoutput>

我收到一个未定义新用户 ID 的错误。同样,在更新 5 之前 运行 一切都很好

如果我在 SSMS 中调用存储过程,一切正常。当我在数据库中看到我的更新和插入时,cfstoredproc 工作。但是,它根本不会 return 返回任何结果。 Return 代码为 0,正如我提到的所有内容 运行 没有任何错误。

我试过了:

 <cfprocresult resultset="1" name="qryResult">

运气不好。有任何想法吗?提前致谢。

在与 Adob​​e 支持人员多次来回发送电子邮件后,他们告诉我取消选中:在 CF 管理员中启用请求调试输出。

完成后,参数按预期返回:

 <cfprocparam type="out" cfsqltype="cf_sql_integer" dbvarname="@NewUserID" variable="newUserID"  > 

不用说,我们需要本地和开发服务器上的调试输出。我认为不应将此错误标记为已修复,但我猜他们正在这样做。

希望它能帮助遇到同样问题的其他人。

编辑 2015 年 5 月 1 日:现在有一个修复程序。

  1. 下载此修补程序文件 [hf1100-3971083.jar]。
  2. 将此文件放在 /cfusion/lib/updates 文件夹中。
  3. 重新启动 ColdFusion 应用程序服务。

砰,成功了!