一個專案需要監控sql陳述句,我重寫了ado的_Connection和_Command類,但是只能hook到Command.Set_CommandText,偶爾抓到了幾次Connection.Set_ConnectionString設定連接字串,我第一反應是Connection.Open、Connection.Execute這些不在主執行緒中創建執行,也嘗試了SetWindowsHookEx行程下的所有執行緒,但是仍只能抓到Command.Set_CommandText這條陳述句。
另外,若被抓去程式使用Command執行sql,則通過Command.CreateParameter(const Name: WideString; Type_: DataTypeEnum; Direction: ParameterDirectionEnum; Size: Integer; Value: OleVariant): _Parameter;來獲取填充的引數,其中最后一個Value: OleVariant如何得到其值?
求高手指點一二~
uj5u.com熱心網友回復:
直接使用 事件探查器 不行嗎?轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/77527.html
