2015-11-06 10 views
5

In unserer ColdFusion 11-App mit SQL Server 2008 R2. Eine .cfm Datei wird unter Verwendung einer CF-Komponente, die mit einer Syntax wie genannt wird:SQL Server Profiler zeigt keine in ColdFusion-Komponenten eingebetteten SQL-Anweisungen

<cfscript> 
    objMyTable = createobject('component','components.myTable); 
    qmyTable2list = objMyTable.loadAllCustomers(); 
     qresultset = objMyTable.loadCustomersResultset(form.applicant_type, form.customer_name, form.state, form.orderby); 
</cfscript> 

Die CF-Komponente von SQL-Anweisungen, wie die Abbildung unten:

<cfquery name="result_set" dataSource="#request.dsn_name#"> 
     select name, state from myTable #REReplace(where_clause,"''","'","ALL")#   
</cfquery> 

Wenn wir auf eine Schaltfläche klicken Auf der .cfm-Seite zeigt die App Daten von SQL Server 2008-R2 korrekt an. SQL Profiler fängt diese SQL-Anweisungen jedoch nicht ab. Wenn wir den Profiler auf .cfm-Seiten ausführen, die eingebettete cfquery-Tags für SQL-Abfragen verwenden (anstelle von CF-Komponenten), zeigt der SQL-Profiler alle von der Seite ausgeführten Abfragen an. Frage: Wie können wir SQL Profiler die Abfragen innerhalb der CF-Komponente fangen lassen?

UPDATE Ich habe folgende Ereignisse im Profiler ausgewählt: enter image description here

+0

Verfolgen Sie 'SP: StmtCompleted'? Meine Vermutung ist mit der Komponente verwendet es 'sp_executesql' anstatt einfach' select' – lad2025

+0

@ lad2025 Ja verwende ich 'SP: StmtCompleted' wie [hier] erklärt (https://www.petefreitag.com/item/674.cfm) – nam

+5

'SP: *' ist für gespeicherte Procs, das obige Snippet sieht nicht wie ein gespeicherter Proc aus. Stellen Sie sicher, dass Sie mit der rechten Maustaste auf das TSQL-Objekt klicken und alle auswählen. – Greg

Antwort

0

Capture the "RPC: Completed" und/oder "RPC: Starten" Ereignisse, und Sie werden Ihre Coldfusion-Abfragen sehen.