Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Coldfusion cfstoredproc调用未在SQL SERVER探查器中显示运行时值_Coldfusion_Sql Server Profiler - Fatal编程技术网

Coldfusion cfstoredproc调用未在SQL SERVER探查器中显示运行时值

Coldfusion cfstoredproc调用未在SQL SERVER探查器中显示运行时值,coldfusion,sql-server-profiler,Coldfusion,Sql Server Profiler,如果我做一个 <cfset arg1 = 'test'> <cfquery> exec sp_mine #arg1# </cfquery> 如果将CFQUERY与queryparam一起使用,我会得到相同的(期望的)行为: <cfset arg1 = 'test'> <cfquery datasource="dsn" name="out"> { CALL sp_mine( <cfqueryparam value = "#

如果我做一个

<cfset arg1 = 'test'>
<cfquery> exec sp_mine #arg1# </cfquery>
如果将CFQUERY与queryparam一起使用,我会得到相同的(期望的)行为:

<cfset arg1 = 'test'>
<cfquery datasource="dsn" name="out">
    { CALL sp_mine( <cfqueryparam value = "#arg1#" cfsqltype="CF_SQL_VARCHAR">) }
</cfquery>
我正在分析以下事件:

(编辑)以下是准确的配置文件详细信息(小的不相关更改,通过1而不是“测试”)

环境:

我正在使用:

  • Coldfusion 11,0,05293506
  • SQL Server 2014
    • [已解决] 好的,我找到了一个方法来做这个FWIW。我觉得这比在客户端记录/转储要好得多,因为它是无声的、非侵入性的,甚至可以在prod环境中完成。但每个人都有自己的选择

      使用CFSTOREDPROC时,通过调用
      sp\u execute
      按位置设置参数。因此,分析这一点以及您的存储过程将得到您所需要的

      示例:

      CF:

      探查器事件:

      探查器过滤器:

      输出(CF代码运行后):


      这不是告诉您值是作为参数而不是硬编码值传递的吗?proc是否没有实际执行您希望它执行的操作?要验证Adam的想法,请使用查询参数再次执行第一个操作。+AdamCameron已编辑我的答案,以包含带有查询参数的示例,探查器显示正确的运行时值。我想知道为什么它对CFSTOREDPROC不起同样的作用?存储过程在所有情况下都会执行我希望它执行的操作,我只感兴趣的是,如果我使用CFQUERY,为什么探查器会拾取真实值。(编辑)除非你说过程调用的最终结果不同,否则不是探查器没有“拾取真实值”。。。但只是根据调用过程的方式(如PreparedStatement、CallableStatement等)显示它们的方式有所不同。如果这是问题所在,您需要查看探查器的文档,了解它如何显示不同事件的过程参数。@存储过程在所有3种调用方式中返回相同的结果(不确定这与此问题有何关系)。“查看探查器的文档,了解它如何显示不同事件的过程参数。”-谢谢Leigh,但我已经这样做了,无法解决我的问题,因此我在这里发布。我已经列出了Im评测的事件,如果您知道我需要添加哪个事件,请告诉我。
      <cfset arg1 = 'test'>
      <cfquery datasource="dsn" name="out">
          { CALL sp_mine( <cfqueryparam value = "#arg1#" cfsqltype="CF_SQL_VARCHAR">) }
      </cfquery>
      
      <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