Гость
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / SqlDependency и проблемы с подпиской / 4 сообщений из 4, страница 1 из 1
23.04.2021, 15:28
    #40065241
kikipumpa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SqlDependency и проблемы с подпиской
Добрый день.
Есть две базы. Одну создал сам, другая уже существующая, используется в другой системе.
В обеих базах включил отслеживание таблиц, и в своём приложении подписываюсь на изменения с помощью SqlDependency.
Со своей базой проблем нет, всё работает, но при попытке подписаться на вторую сразу срабатывает onChange с параметрами:
  • e.Info = Options (Параметр SET не задан необходимым образом во время подписки.),
  • e.Source = Statement (Инструкция Transact-SQL не поддерживает уведомления; например, выполняется инструкция SELECT, для которой не могут генерироваться уведомления, или инструкция, отличная от SELECT.),
  • e.Type = Subscribe (Не удалось создать подписку на уведомление. Для определения причины неудачи используйте входящий в состав объекта SqlNotificationEventArgs элемент SqlNotificationInfo.)
Инструкция, которую выполняю для подписки
Код: sql
1.
SELECT ID, Name FROM dbo.Comps


Для обеих баз делаю всё одинаково, кроме строки подключения и названия таблицы.
Почему так происходит?
Что за параметр SET? где его задавать и как понять, какие параметры нужны?
Уже неделю ковыряю, но никак не могу в толк взять куда вообще смотреть и что делать.
...
Рейтинг: 0 / 0
24.04.2021, 01:58
    #40065390
felix_ff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SqlDependency и проблемы с подпиской
kikipumpa,


SqlDependency использует ServiceBroker в качестве службы доставки сообщений.
Данные сообщений формируются в виде xml-сообщений, а для работы с типом xml требуются специфичные настройки среды SET.

такие как set quoted_identifier on;
проверьте на вашей БД данную настройку, также она переопределяется в зависимости от драйвера использующегося для подключения к сиквел серверу.
...
Рейтинг: 0 / 0
26.04.2021, 09:42
    #40065814
kikipumpa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SqlDependency и проблемы с подпиской
felix_ff,

Я правильно понимаю, что эти настройки можно передавать в инструкции для подписки?
И где можно узнать весь список необходимых параметров?
Установка set quoted_identifier on ситуацию не изменила.
...
Рейтинг: 0 / 0
26.04.2021, 15:15
    #40065976
kikipumpa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SqlDependency и проблемы с подпиской
felix_ff,

Спасибо за наводку.
Нашёл список необходимых параметров тут
Нужны:

ANSI_NULLS ON

ANSI_PADDING ON

ANSI_WARNINGS ON

CONCAT_NULL_YIELDS_NULL ON

QUOTED_IDENTIFIER ON

NUMERIC_ROUNDABORT OFF

ARITHABORT ON
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / SqlDependency и проблемы с подпиской / 4 сообщений из 4, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]