我們已經爲所有SQL
存儲過程和函數實施了全局錯誤記錄器。當過程/函數遇到SQLEXCEPTION
或SQLWARNING
時,我們調用全局錯誤記錄器並執行GET STACKED DIAGNOSTICS
語句。我們需要的部分數據是失敗的過程名稱。我沒有看到在GET DIAGNOSTICS
可用返回值(ROUTINE_NAME
和ROUTINE_SCHEMA
有條件地返回,我總是需要它)。如何找到調用存儲過程/函數
我們目前使用的是QWVRCSTK API
,但我會假設SQL提供這種數據的方法。任何人都知道我可以做到這一點?
謝謝!
對於SQL服務器,它將幫助http://msdn.microsoft.com/en-us/library/ms175976.aspx –
請參閱http://stackoverflow.com/questions/2086973/recording-sql-server-call-stack-when-reporting-errors SQL不適合異常處理。你不通過客戶端來阻礙自己。 – Andomar
SPECIFIC_SCHEMA可能有你正在尋找的東西,但它也只是有條件地返回。我自己使用調用堆棧API。 –