2015-11-06 11 views
5

В нашем приложении ColdFusion 11 с SQL Server 2008 R2. Файл .cfm использует компонент CF, который вызывается с помощью синтаксиса, такие как:SQL Server Profiler не показывает инструкции SQL, встроенные в компоненты ColdFusion

<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-компонента?

UPDATE Я следующие события, выбранных в профилировщике: enter image description here

+0

Вы отслеживаете 'SP: StmtCompleted'? Я думаю, что с компонентом он использует 'sp_executesql' вместо простого' select' – lad2025

+0

@ lad2025 Да, я использую 'SP: StmtCompleted', как описано [здесь] (https://www.petefreitag.com/item/674.cfm) – nam

+5

'SP: *' для хранимых procs, фрагмент выше не похож на сохраненный proc. Убедитесь, что вы щелкните правой кнопкой мыши объект TSQL и выберите все. – Greg

ответ

0

захватить "RPC: Completed" и/или "RPC: Запуск" события, и вы увидите ваши запросы ColdFusion.

 Смежные вопросы

  • Нет связанных вопросов^_^