Welcome to TechNet Blogs Sign in | Join | Help

Извещение об изменениях в результатах запроса (Query Notification)

Знаете ли вы, что…

 

Query Notification в SQL 2005 – новая функциональность, позволяющая отправить запрос на SQL Server и потребовать генерации извещения в случае, если исполнение этого запроса вернет результат отличный от полученного изначально. Это значит, что если произошли какие-то изменения в данных таблиц, включенных в запрос, .NET код будет автоматически извещен.

 

Команды, посылаемые на сервер через клиентский API(ADO.NET, OLE DB, ODBC, SOAP) могут содержать свойство Notification, которое создать «подписку» на оповещение об изменении данных.

 

Например:

……………………………………………………………………………

SqlConnection c = new SqlConnection(…………………………);

SqlCommand cm = c.CreateCommand();

 

cm.CommandText = "Select id, time from dbo.t_table";

 

SqlString notifyId = "Notification_Id";

SqlString notifOpt = "service = service_name; local database = database_name";

int timeOut = 50000;

 

cm.Notification = new SqlNotificationRequest (notifyId.ToString(), notifOpt.ToString(), timeOut);

……………………………………………………………………………

 

Теперь, если результат, возвращаемый запросом Select id, time from dbo.t_table изменится, приложение получит извещение.

 

Эта технология может быть особенно полезна для кэширования результатов для web-сайтовских приложений.

 

Более подробно (но на английском J) можно почитать, например, здесь:

http://msdn2.microsoft.com/en-us/library/ms379594(VS.80).aspx

 

Published Thursday, June 14, 2007 10:47 PM by Lyudmila Fokina

Comments

No Comments
Anonymous comments are disabled
 
Page view tracker