2009-05-05 4 views
4

У меня возникла проблема с отладкой хранимой процедуры для работы в Visual Studio 2008: когда я начинаю отладку, я получаю эти сообщения об успешности в окне вывода, однако фактические окна хранимых процедур не отображаются.Отладка хранимой процедуры MS SQL

Auto-attach to process '[1640] [SQL] stagsql' on machine 'stagsql' succeeded. 
The thread 'stagsql [67]' (0xf80) has exited with code 0 (0x0). 
The thread 'stagsql [67]' (0xf80) has exited with code 0 (0x0). 
The thread 'stagsql [69]' (0x908) has exited with code 0 (0x0). 
The thread 'stagsql [69]' (0x908) has exited with code 0 (0x0). 
The thread 'stagsql [69]' (0x908) has exited with code 0 (0x0). 
The thread 'stagsql [69]' (0x908) has exited with code 0 (0x0). 
Running [dbo].[uspCGetXYZ] (@nLieferantId = 161616, @nStrukturId = -1, @nPageIndex = 1, @nPageSize = 16, @sSortColumn = arLangname, @nSortAscending = 1). 

Visual Studio переходит в режим отладки, но процедура вообще не отображается.

шаги я сделал:

  • Enabled отладки SQL в настройках проекта
  • Открыли SQL соединения в Server Explorer
  • Enabled CLR/SQL debuggin на связи
  • правой кнопкой мыши на процедура и выбранный «шаг на хранение»

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

Любые идеи? Как сказано, соединение есть, но Visual Studio не может открыть код процедуры.

+0

Просто чтобы проверить, это хранимая процедура CLR? – cjk

+0

Нет, это T-SQL – driAn

+0

Это разрешено для вас? – Wayne

ответ

0

Решение является решением для базы данных? Вы отправили New-> Solution-> Other-> Database?

После того как вы создали решение для базы данных, затем настройте параметры подключения, вы сможете использовать проводник сервера для редактирования и ввода в хранимую процедуру. Убедитесь, что это все еще вызывает проблему?

Вы используете экспресс-издание?

+0

Нет, я использую «нормальное» решение, которое содержит все проекты. Могу ли я исправить это, не отбросив мое текущее решение? Я использую профессиональную версию. – driAn

+0

Итак, попробуйте добавить новое решение File-> Add-> New Project, а затем выберите Other Project Types-> Database. Это должно дать вам проект БД в вашем текущем решении. Надеюсь, это поможет – Wayne

+0

Пробовал это уже, не помогло :( – driAn

-1

Я не думаю, что ou может помещать в него точки останова, как вы могли бы в обычном приложении VS.

Однако вы можете создать временную таблицу для ведения журнала, а в каждой строке добавить новую запись в эту временную таблицу.

+1

вы можете отлаживать так же, как вы делаете VS-приложение. Переменные и (почти) все остальное –

0

Вы видите код этой хранимой процедуры? Если он будет сохранен «WITH ENCRYPTION», вы можете не увидеть код, а затем вам понадобится исходный исходный код для его отладки.

1

Возможно, у вас есть «Показать фактический план выполнения»? Я обнаружил, что отладка не будет выполняться, если вы нажмете эту кнопку, хотя я не могу в жизни понять, почему это так.

Я не отправил ошибку на Connect, но был бы рад поддержать ее, если кто-то знает об этом.

+0

Да, вы правы, это не так. Я зарегистрирую его как ошибку и прохожу по URL-адресу – Ash