cfstoredproc 调用未在 SQL SERVER 分析器中显示运行时值

cfstoredproc call not showing runtime values in SQL SERVER profiler

如果我做

<cfset arg1 = 'test'>
<cfquery> exec sp_mine #arg1# </cfquery>

Profiler 显示了我在运行时传递给 arg1 的正确值。

例如:

 EXEC sp_mine 'test'

如果我将 CFQUERY 与查询参数一起使用,我会得到相同的(期望的)行为:

<cfset arg1 = 'test'>
<cfquery datasource="dsn" name="out">
    { CALL sp_mine( <cfqueryparam value = "#arg1#" cfsqltype="CF_SQL_VARCHAR">) }
</cfquery>

但是如果我用 CFSTOREDPROC 替换:

<cfset arg1 = 'test'>
<cfstoredproc datasource="dsn" procedure="sp_mine" >
   <cfprocparam type="in" dbvarname="@arg1" cfsqltype="CF_SQL_VARCHAR" value="#arg1#"  >
   <cfprocresult name="out">
</cfstoredproc>

我得到:

EXEC sp_mine @arg1 = @P1  

我正在分析以下事件:

(编辑)这是准确的配置文件详细信息(无关紧要的小改动,传递 1 而不是 'test')

环境:

我正在使用:

[已解决] 好的,我找到了一种方法来执行此 FWIW。我觉得这比客户端的 logging/dumping 好得多,因为它是无声且非侵入性的,甚至可以在生产 environments.But 每个人自己完成。

使用 CFSTOREDPROC 时,通过调用 sp_execute 来设置参数的位置。因此,分析它以及您的存储过程将为您提供所需的东西。

示例:

CF:

探查器事件:

分析器过滤器:

输出(在您的 CF 代码运行后):