2015-11-06 21 views
5

W naszej aplikacji ColdFusion 11 z programem SQL Server 2008 R2. Plik .cfm wykorzystuje komponent CF, która jest wywoływana za pomocą składni takich jak:Program SQL Server Profiler nie wyświetlający instrukcji SQL osadzonych w komponentach ColdFusion.

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

Komponent CF ma instrukcji SQL, taki jak ten przedstawiony poniżej:

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

Po kliknięciu przycisku na stronie .cfm, aplikacja poprawnie wyświetla dane z SQL Server 2008-R2. Ale program SQL Profiler nie przechwytuje tych instrukcji SQL. Kiedy uruchamiamy profiler na stronach .cfm, które używają osadzonych znaczników cefquery dla zapytań sql (zamiast komponentów CF) profiler SQL wyświetla wszystkie zapytania wykonywane przez stronę. Pytanie: W jaki sposób możemy sprawić, aby program SQL Profiler przechwytywał zapytania wewnątrz komponentu CF?

UPDATE Mam następujące wydarzenia wybrane w profilera: enter image description here

+0

Czy śledzisz 'SP: StmtCompleted'? Zgaduję, że ze składnikiem używa 'sp_executesql' zamiast prostego' select' – lad2025

+0

@ lad2025 Tak, używam 'SP: StmtCompleted' jak wyjaśniono [tutaj] (https://www.petefreitag.com/item/674.cfm) – nam

+5

'SP: *' jest dla przechowywanych proców, powyższy fragment nie wygląda jak przechowywany proc. Upewnij się, że kliknąłeś prawym przyciskiem myszy na obiekt TSQL i zaznaczyłeś wszystko. – Greg

Odpowiedz

0

uchwycić "RPC: Completed" i/lub "RPC: od" wydarzenia, a zobaczysz zapytania ColdFusion.