2015-11-06 10 views
5

SQL Server 2008 R2を搭載したColdFusion 11アプリケーションでは、私たちは、ボタンをクリックするとSQL ServerプロファイラがColdFusionコンポーネントに埋め込まれたSQL文を表示しない

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

:CFコンポーネントは、下記に示すようなSQL文を持っている

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

:.CFMファイルは、次のような構文で呼び出されたCFコンポーネントを使用しています.cfmページでは、アプリケーションはSQL Server 2008-R2からのデータを正しく表示します。しかし、SQLプロファイラはこれらのSQL文をキャッチしません。 SQLプロファイラは、CFコンポーネントの代わりにSQLクエリに埋め込みcfqueryタグを使用している.cfmページでプロファイラを実行すると、ページによって実行されたすべてのクエリが表示されます。 質問:SQLプロファイラでCFコンポーネント内のクエリをキャッチするにはどうすればよいですか?

私はプロファイラで選択したイベント次ましたUPDATE :および/または "RPC:起動": "完了RPC" キャプチャ enter image description here

+0

あなたは 'SP:StmtCompleted'を追跡していますか?私の推測は、単純な 'select'の代わりに' sp_executesql'を使用するコンポーネントです。 – lad2025

+0

@ lad2025はい、ここで説明されているように 'SP:StmtCompleted'を使用しています(https://www.petefreitag.com/item/674.cfm ) – nam

+5

'SP:*'はストアドプロシージャのためのものです。上記のスニペットはストアドプロシージャのようには見えません。必ずTSQLオブジェクトを右クリックし、すべてを選択してください。 – Greg

答えて

0

をするイベントを、そしてあなたは、ColdFusionのクエリが表示されます。

関連する問題