Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 set nocount on/off  [new]
Mandarin
Member

Откуда: Саратов
Сообщений: 1203
Всем привет! подскажите если мне не нужно получать кол-во обработанных строк, нужно ли включать "set nocount on" в каждую процедуру или достаточно выполнить эту команду один раз для соединения?
7 мар 15, 16:18    [17356424]     Ответить | Цитировать Сообщить модератору
 Re: set nocount on/off  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7871
Mandarin, а что в справке пишут, кто её за Вас читать будет?
7 мар 15, 17:09    [17356518]     Ответить | Цитировать Сообщить модератору
 Re: set nocount on/off  [new]
Mandarin
Member

Откуда: Саратов
Сообщений: 1203
Владислав Колосов,

вот из этого описания я не понял, как надо использовать set nocount, в каждой процедуре писать или один раз для соединения.
7 мар 15, 17:18    [17356532]     Ответить | Цитировать Сообщить модератору
 Re: set nocount on/off  [new]
Mandarin
Member

Откуда: Саратов
Сообщений: 1203
Mandarin
Владислав Колосов,

вот из этого описания я не понял, как надо использовать set nocount, в каждой процедуре писать или один раз для соединения.


забыл ссылку добавить https://msdn.microsoft.com/ru-ru/library/ms189837.aspx
7 мар 15, 17:24    [17356535]     Ответить | Цитировать Сообщить модератору
 Re: set nocount on/off  [new]
Glory
Member

Откуда:
Сообщений: 104760
https://msdn.microsoft.com/ru-ru/library/ms190356.aspx
7 мар 15, 18:13    [17356608]     Ответить | Цитировать Сообщить модератору
 Re: set nocount on/off  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31446
Mandarin
нужно ли включать "set nocount on" в каждую процедуру или достаточно выполнить эту команду один раз для соединения?
достаточно выполнить эту команду один раз для соединения
8 мар 15, 00:27    [17357543]     Ответить | Цитировать Сообщить модератору
 Re: set nocount on/off  [new]
Mandarin
Member

Откуда: Саратов
Сообщений: 1203
alexeyvg,

понятно спасибо, а в каких случаях настройка nocount может принимать значение off если я сам принудительно его не ставлю?

один из примеров - для доступа к БД я использую dbExpress и заметил следующее, если я выполняю ExecProc для процедуры которая возвращает данные, то следующие выполнение Open для любой другой процедуры гарантированно дает ошибку "Cursor not returned from query".

P.S. почему я использую ExecProc для процедуры которая возвращает данные? такая система досталась в наследство я как раз работаю над исправлением ошибок.
8 мар 15, 08:45    [17357919]     Ответить | Цитировать Сообщить модератору
 Re: set nocount on/off  [new]
Glory
Member

Откуда:
Сообщений: 104760
Mandarin
а в каких случаях настройка nocount может принимать значение off если я сам принудительно его не ставлю?

Когда это запрограммированно в клиентской программе.

Mandarin
почему я использую ExecProc для процедуры которая возвращает данные? такая система досталась в наследство я как раз работаю над исправлением ошибок.

Т.е. вам запрещают ставить другие клиентские программы для работы с MSSQL ?
8 мар 15, 12:25    [17358173]     Ответить | Цитировать Сообщить модератору
 Re: set nocount on/off  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31446
Mandarin
понятно спасибо, а в каких случаях настройка nocount может принимать значение off если я сам принудительно его не ставлю?
Когда принудительно ставит клиентское приложение.

Вам нужно посмотреть в профайлере, какие команды и установки параметров соединения уходят на сервер.

Далее, нужно:
1) поправить настройки в вашем клиенте,
2) или перед посылкой команды слать дополнительную команду set nocount on,
3) или ставить эту настройку в каждой процедуре.
8 мар 15, 14:37    [17358427]     Ответить | Цитировать Сообщить модератору
 Re: set nocount on/off  [new]
Mandarin
Member

Откуда: Саратов
Сообщений: 1203
понятно, спасибо за подсказки.
8 мар 15, 20:48    [17359095]     Ответить | Цитировать Сообщить модератору
 Re: set nocount on/off  [new]
MasterZiv
Member

Откуда: Питер
Сообщений: 34621
Mandarin
Всем привет! подскажите если мне не нужно получать кол-во обработанных строк, нужно ли включать "set nocount on" в каждую процедуру или достаточно выполнить эту команду один раз для соединения?



в каждую процедуру, в "пролог".
9 мар 15, 12:40    [17360175]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить