SqlDependency не стреляет - PullRequest
       12

SqlDependency не стреляет

0 голосов
/ 01 октября 2018

SqlDependency не запускается.Это то, что работало в прошлом, поэтому я не знаю, что пошло не так.

    private static void Main(string[] args)
    {
        SqlDependency dependency;
        var connectionString = "Server=localhost;Database=SqlServerTestDatabase;Trusted_Connection=True;";
        using (var connection = new SqlConnection(connectionString))
        {
            connection.Open();
            using (var command = new SqlCommand("SELECT FullName, State FROM [Sales].[Customer]", connection))
            {
                dependency = new SqlDependency(command);
                SqlDependency.Start(connectionString);
                dependency.OnChange += new OnChangeEventHandler((s, e) =>
                {
                    Console.WriteLine("Success!!!!");
                });
                using (var reader = command.ExecuteReader())
                {
                    while (reader.Read()) { } //NoOP
                }
            }

            while (true)
            {
                Console.WriteLine($"Waiting for event. dependency.HasChanges = {dependency.HasChanges}");
                Thread.Sleep(1000);
            }
        }
    }

SQL для запуска события:

INSERT INTO Sales.Customer(FullName, State ) VALUES ( N'Test 123', 'CA');

Я не получаю сообщение об ошибке,Событие просто не запускается.

Пользователь sysadmin, а компонент Service Broker включен на уровне базы данных.

Версия базы данных: 14.0.2002.14

1 Ответ

0 голосов
/ 01 октября 2018

Возможно, вы являетесь владельцем базы данных, но настройки безопасности вашей учетной записи все еще испорчены.Чтобы это исправить, удалите пользователя (не логин), а затем заново создайте его.

...