В нашем приложении ColdFusion 11 с SQL Server 2008 R2. Файл .cfm использует компонент CF, который вызывается с таким синтаксисом, как:
<cfscript>
objMyTable = createobject('component','components.myTable);
qmyTable2list = objMyTable.loadAllCustomers();
qresultset = objMyTable.loadCustomersResultset(form.applicant_type, form.customer_name, form.state, form.orderby);
</cfscript>
Компонент CF имеет операторы SQL, подобные показанному ниже:
<cfquery name="result_set" dataSource="#request.dsn_name#">
select name, state from myTable #REReplace(where_clause,"''","'","ALL")#
</cfquery>
Когда мы нажимаем кнопку на странице .cfm, приложение правильно отображает данные из SQL Server 2008-R2. Но SQL Profiler не улавливает эти операторы SQL. Когда мы запускаем профилировщик на страницах .cfm, которые используют встроенные теги cfquery для запросов sql (вместо компонентов CF), профилировщик SQL отображает все запросы, выполненные страницей. Вопрос: как заставить SQL Profiler перехватывать запросы внутри компонента CF?
SP:StmtCompleted
? Я предполагаю, что с компонентом он используетsp_executesql
вместо простогоselect
- person Lukasz Szozda   schedule 06.11.2015SP:StmtCompleted
, как описано здесь - person nam   schedule 06.11.2015SP:*
предназначен для хранимых процедур, приведенный выше фрагмент не похож на хранимую процедуру. Убедитесь, что вы щелкнули правой кнопкой мыши объект TSQL и выбрали все. - person Greg   schedule 06.11.2015Update
, показывающий события, которые я фиксирую, включая TSQL. - person nam   schedule 06.11.2015all TSQL
объектами, как показано на моем обновленном рисунке выше. Но все равно не повезло. Я также проверил, что НЕТ фильтра, который я использую. Те же настройки профилировщика, что показаны выше, прекрасно работают, когда запросы находятся в файле .cfm, а не в файле .cfc. - person nam   schedule 11.11.2015