2013-08-28 1 views
1

Я пытаюсь использовать SQLDependency Caching с уведомлениями о запросах в своем приложении ASP.NET. Я последовал за these steps to set up SQLDependency Caching. Мне удалось успешно установить db. Однако, когда я запускаю свое приложение, я получаю следующую ошибку.SQLQependency Кэширование не работает

Cannot find the specified user 'owner'. 
Cannot find the queue 
SqlQueryNotificationService-6c3ae823-a678-4ed2-8b97-561b5f2561ee', 
because it does not exist or you do not have permission. 
Invalid object name 
SqlQueryNotificationService-6c3ae823-a678-4ed2-8b97-561b5f2561ee'. 

Код Global.asax

void Application_Start(object sender, EventArgs e) 
    { 
     // Code that runs on application startup 
     System.Data.SqlClient.SqlDependency.Start(ConfigurationManager.ConnectionStrings["McdConn"].ToString()); 

    } 

Я пытался Google решение, но я не мог получить какой-либо помощи.

Может ли кто-нибудь помочь мне с этим?

Я что-то упустил?

ответ

1

Либо вы можете дать пользователю права sysadmin ИЛИ

обеспечивают alter разрешение на dbo схеме.

Чтобы создать процедуру, объекты, объекты с областью схемы и т. Д., Вам нужно как минимум ALTER разрешение на целевую схему. Вот синтаксис TSQL,

grant alter on schema :: schema_name to user_name 

Пользователь также должен иметь права доступа к Notification Service, очереди. Чтобы предоставить разрешение пользователю «Джон» на использование Service и queue:

GRANT SEND on service::SqlQueryNotificationService to John 
GRAND RECEIVE on SqlQueryNotificationService_DefaultQueue to John 

Также пользователю необходимо разрешение на подписку на уведомление (это уже сделано вами я думаю) Для этого используйте:.

GRANT SUBSCRIBE QUERY NOTIFICATIONS TO John 

Один последний пункт до сих пор я могу догадаться, чтобы помочь в том, что в случае, если у вас есть установка SqlDependency на команду, то убедитесь, что вы выполняете подписку it.Query на сервере произойдет только при исполнении команды.

SqlDataReader reader = command.ExecuteReader(); 

Этот post может оказаться более полезным.

+0

Благодарим за помощь! Я изменил разрешение схемы и установил ее в свой db user.It сделал трюк! Спасибо – freebird

+0

У меня больше нет проблем, но мой кеш всегда равен нулю, потому что я использую 'SqlDataAdapter '? – freebird

+0

Рад узнать, что сейчас работает. Я также проверю то же самое с SqlDataAdapter. –

 Смежные вопросы

  • Нет связанных вопросов^_^