Распределенные приложения на основе MS Message Queue Server

       

RDS кэширует результаты запроса на


Воспользуемся Remote Data Service (RDS), в недавнем прошлом — Advanced Data Connector (ADC). RDS кэширует результаты запроса на клиенте и обеспечивает столь необходимую нам перманентность состояния. Отметим в Project->References использование в проекте Microsoft Remote Data Services 1.5 Library (msadco.dll). Тогда средствами RDS имеем:

Dim oADS As New RDS.DataSpace
Dim oADF As Object

Cоздаем встроенный бизнес-объект доступа к данным на локальном сервере:

Set oADF = oADS.CreateObject(“RDSServer.DataFactory”, “”)
Dim oRDS_DC As New RDS.DataControl

Обойдемся соединением без DSN и с ходу выполним запрос:

oRDS_DC.SourceRecordset = oADF.query(“driver={SQL Server};server=;uid=sa;pwd=;database=bank”,
“select * from Oper where account_deb=’10001’ or account_cre=’10001’ “)
SendMQMsg “InteractionQueue”, “10001”, oRDS_DC.Recordset

Нам осталось принять сообщение и убедиться, что все дошло нормально.

Для приема сообщений объект MSMQQueue располагает методами Peek, PeekCurrent, PeekNext и Receive, ReceiveCurrent. Отличие между Peek* и Receive* состоит в том, что первая группа методов просто читает пришедшие сообщения без их удаления из очереди, а методы второй группы вдобавок удаляют только что прочитанное сообщение. Методы Peek и Receive читают первое сообщение в очереди, PeekCurrent и ReceiveCurrent — текущее, на которое указывает внутренний курсор очереди. PeekNext передвигает курсор на следующее сообщение в очереди и прочитывает его оттуда. Если сообщения имеют одинаковый приоритет доставки, то под первым, или верхним, здесь понимается пришедшее последним. Напишем функцию, читающую первое сообщение из первой попавшейся очереди с меткой strQueLbl.

Function SyncReceiveMQMsg(strQueLbl As String, lngTimeout As Long, _
blnDeleteMsgFromQue As Boolean, blnWantBody As Boolean) As MSMQMessage

Параметр lngTimeout определяет время (в секундах), которое необходимо ждать, если очередь пуста. 0 означает не ждать нисколько, –1 — ждать, пока хоть что-то не придет в эту очередь.

Содержание  Назад  Вперед







Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий