Получение номеров строк для ошибок, выданных в SQL Server CLR Runtime - PullRequest
2 голосов
/ 10 декабря 2008

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

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

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

Спасибо!

1 Ответ

3 голосов
/ 07 января 2009

Я не уверен, что регистрация 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
...