Есть ли способ имитировать ответы / состояния ошибок SQL-сервера, не записывая что-то, что приводит к разрушению БД? - PullRequest
0 голосов
/ 10 августа 2011

На днях в нашей производственной БД у нас появилось несколько плохих запросов, которые вызвали некоторую блокировку в наших производственных системах. Хотя эти запросы были исправлены, возникла еще одна проблема, из-за которой наше приложение начало отображать сообщение «Произошла ошибка сервера типа 1000». Я пытаюсь обновить наше приложение, чтобы должным образом справиться с этим, к сожалению, я не могу легко восстановить состояние SQL-сервера, в котором возникла эта ошибка. Есть ли способ «замкнуть» запрос на SQL, чтобы БД давала ответ, но указывал, что он находится в состоянии «заблокирован» или «не может выполнить»?

Ответы [ 2 ]

0 голосов
/ 10 августа 2011

Ложные объекты являются «BestWay (tm)» для проверки этого типа поведения. Если у вас нет инфраструктуры тестирования (например, PHPUnit ), чтобы облегчить это, вариантов будет меньше.

  • Вы можете взломать объект ответа, например, @Marc B, который как использование Mock Objects, но менее формально.
  • Вы также можете настроить среду разработки, которая указывает на экземпляр SqlServer, что вы можете злоупотреблять.
0 голосов
/ 10 августа 2011

В SQL вы можете использовать TRY ... Catch , чтобы вернуть любой желаемый ответ.

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