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
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий