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:
Verfolgen Sie 'SP: StmtCompleted'? Meine Vermutung ist mit der Komponente verwendet es 'sp_executesql' anstatt einfach' select' – lad2025
@ lad2025 Ja verwende ich 'SP: StmtCompleted' wie [hier] erklärt (https://www.petefreitag.com/item/674.cfm) – nam
'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