2008-12-10 24 views
2

我已經創建了我在SQL 2K5運行,我想知道是否有任何的方式來獲得由.NET拋出的異常的行號CLR存儲過程引發的錯誤碼。當拋出一個異常時,我得到一些東西沿線獲取行號在SQL Server CLR運行時

消息6522,級別16,狀態1,過程myProcedure,行0 執行用戶定義例程或集合「myProcedure」期間發生.NET框架錯誤: System.Exception:測試異常 System.Exception: at DummyDLL.myProcedure(String dummyInput) 。

有沒有什麼方法可以加載程序集,以給我特定的行號而不僅僅是拋出錯誤的函數?程序集本身是用.pdb編譯的,但是當我最初加載程序集時,SQL 2k5似乎沒有讀到它。

謝謝!

回答

3

我不確定是否註冊PDB也會給你行號(理論上它應該)。

您確定您正確地註冊您的PDB嗎?下面告訴你怎麼做:

http://blogs.msdn.com/ericnel/archive/2005/03/18/398534.aspx

基本上,語法是:

CREATE ASSEMBLY Asm1 FROM 'MyAssembly.dll' 
GO 
ALTER ASSEMBLY Asm1 ADD FILE FROM 'MyAssembly.pdb' 
GO 
+0

雖然這讓我真正的CLR存儲過程與調試一步,可惜我還是例外情況下不要獲得行號。但是從現在起至今我仍然可以使用調試器。 – 2009-06-25 11:43:47