Получение номеров строк для ошибок, возникающих в среде выполнения SQL Server CLR

Я создал хранимую процедуру CLR, которую я запускаю на SQL 2k5, и мне интересно, есть ли способ получить номера строк для исключений, генерируемых кодом .NET. Когда выдается исключение, я получаю что-то вроде

Сообщение 6522, уровень 16, состояние 1, процедура myProcedure, строка 0 Произошла ошибка .NET Framework во время выполнения пользовательской подпрограммы или агрегата «myProcedure»: System.Exception: тестовое исключение System.Exception: at DummyDLL.myProcedure (String dummyInput )

Есть ли какой-то способ загрузить сборку, чтобы дать мне конкретные номера строк, а не только функцию, в которой была выдана ошибка? Сама сборка была скомпилирована с помощью .pdb, но SQL 2k5, кажется, не читает его, когда я загружаю сборку изначально.

Спасибо!

10.12.2008 18:56:12
1 ОТВЕТ

Я не уверен, что регистрация 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
4
7.01.2009 03:53:39
Хотя это позволило мне фактически перейти к хранимой процедуре CLR с помощью отладчика, к сожалению, я до сих пор не получаю номера строк в исключениях. Но все равно +1 за подсказку, так как теперь, по крайней мере, я могу использовать отладчик.
Tamas Czinege 25.06.2009 11:43:47