как эффективно отлаживать хранимые процедуры в visual studio - PullRequest
1 голос
/ 18 июля 2009

Я отлаживал хранимые процедуры sql 2005 в Visual Studio 2005, и меня очень расстраивает, что я не могу выполнить SQL-запрос во время выполнения кода.

конкретно мои главные проблемы ...

  • если мой SP вставляет / обновляет временные таблицы, тогда я не могу запросить эти таблицы во время отладки. было бы здорово, если бы я мог использовать непосредственное окно для запуска sql.

  • если мой SP запускается под транзакцией i, то я снова не могу запросить любые таблицы, на которые он влияет при отладке. даже если я переключаюсь на sql management studio и запускаю запрос для незафиксированных данных.

Единственное, что я могу проверить в отладчике - это локальные переменные, используемые в SP, что не так уж и полезно.

Кто-нибудь знает лучший способ отладки? это лучше в VS.net 2008 или 2010?

Ответы [ 3 ]

2 голосов
/ 18 июля 2009

Добавить много диагностических операторов SELECTS и PRINT.

Эй, это то, что все мы, программисты, должны были сделать за день до отладчика. Не так уж и плохо, когда ты привыкла к этому.

Кроме того, это еще одна очень веская причина, чтобы процедуры были небольшими.

Я использовал настоящие отладчики с SQL (другие версии), и правда в том, что хорошо написанный SQL в любом случае очень мало выигрывает от традиционного отладчика. Декларативный код, основанный на множестве, просто не вписывается в эту модель. Теперь плохо написанный SQL (процедурный, императивный и т. Д.) Работает, но чем лучше вы разрабатываете процедуру, тем меньше у вас причин для отладчика.

Лучшее решение, IMHO, если вам нужно то, что может сделать для вас отладчик, это использовать SQL Profiler, который имеет преимущество в том, что он может рассказать вам, что на самом деле делает процедура в производственном процессе, вместо что он делает в вас искусственные тесты.

1 голос
/ 18 июля 2009

Здесь - статья о том, как это сделать с Visual Studio 2005. Я сам не пробовал, но 4GuysFromRolla предоставили мне хорошую информацию в прошлом.

0 голосов
/ 18 июля 2009

Лучше пройти через этот Процесс отладки

У меня есть идея отсюда. Надеюсь, это вам тоже поможет. Это то же самое для VS 2008

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...