Установить NOCOUNT OFF на уровне базы данных? - PullRequest
5 голосов
/ 23 июля 2010

Могу ли я установить для NOCOUNT значение OFF по умолчанию для конкретной базы данных?

Мне нужно это для NHibernate (если он включен, я получаю исключения при сохранении).Я вижу настройки для отключения его для всего сервера (где он включен), но мы делим сервер с другими базами данных.Есть ли способ, которым я могу установить его на OFF только для своей базы данных?

Или есть настройка NHibernate, которая сделает это для меня?(Я обошел это сейчас с помощью специального DriverConnectionProvider, который выдает команду всякий раз, когда создает соединение. Работает нормально, но чувствует себя немного неловко)*

Спасибо, Мэтт

Ответы [ 3 ]

3 голосов
/ 23 июля 2010

нет, настройки для базы данных SET NOCOUNT.

не установлены.

тот же вопрос: http://www.eggheadcafe.com/software/aspnet/32120672/set-nocount.aspx

0 голосов
/ 03 октября 2016

Set NOCOUNT установлен на уровне БД. Выполните ниже запросы один за другим отдельно. Это дает лучшую идею.

SET NOCOUNT ON 
Update Users set FirstName='XXXX' where Id='YYYY'; 

*** Команда (и) успешно выполнена.

SET NOCOUNT OFF
Update Users set FirstName='XXXX' where Id='YYYY'; 

*** (затронут 1 ряд)

0 голосов
/ 23 июля 2010

Вы можете использовать метод OnPrepareStatement интерфейса NH IInterceptor, чтобы модифицировать операторы SQL, сгенерированные NH, чтобы включить оператор "set nocount off" в начале каждого SQL-запроса, выданного вашим приложением.

Какой-то парень по имени Дейв считает, что это "зло", но это может быть ваш ответ. По ссылке вы попадете на страницу в своем блоге, рассказывающую, как это реализовать.

Моя оговорка по этому поводу заключается в том, что вы будете создавать зависимость для вашего приложения, работающего на сервере базы данных, который понимает «отключить nocount» - другими словами, вы игнорируете настроенный диалект.

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