我创建了一个在 SQL 2k5 上运行的 CLR 存储过程,我想知道是否有任何方法可以获取 .NET 代码引发的异常的行号。当抛出异常时,我会得到类似
的信息消息 6522,级别 16,状态 1,过程 myProcedure,第 0 行 执行用户定义例程或聚合“myProcedure”期间发生 .NET Framework 错误: System.Exception:测试异常 系统异常: 在 DummyDLL.myProcedure (字符串 dummyInput) .
是否有某种方法可以加载程序集以提供特定的行号,而不仅仅是抛出错误的函数?程序集本身是用 .pdb 编译的,但当我最初加载程序集时,SQL 2k5 似乎没有读取它。
谢谢!
最佳答案
我不确定注册 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
关于.net - 获取 SQL Server CLR 运行时中引发的错误的行号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/357145/