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" キャプチャ
あなたは 'SP:StmtCompleted'を追跡していますか?私の推測は、単純な 'select'の代わりに' sp_executesql'を使用するコンポーネントです。 – lad2025
@ lad2025はい、ここで説明されているように 'SP:StmtCompleted'を使用しています(https://www.petefreitag.com/item/674.cfm ) – nam
'SP:*'はストアドプロシージャのためのものです。上記のスニペットはストアドプロシージャのようには見えません。必ずTSQLオブジェクトを右クリックし、すべてを選択してください。 – Greg