我们可以在一天内获得由Reeive端口接收的消息号,如第一条消息,第二条消息等。 [英] Can we get the message number recived by reeive port in a single day, like 1st message, 2nd message etc.

查看:121
本文介绍了我们可以在一天内获得由Reeive端口接收的消息号,如第一条消息,第二条消息等。的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们没有使用任何反汇编程序。输入是单个消息,输出是单个消息。


简而言之,我想知道一天内接收位置收到的消息的序列号。

解决方案


BizTalk的接收位置不保留其处理的消息的任何序列号。


如果接收位置使用的适配器为处理的消息添加任何序列号,则可以从接收位置中的
消息的上下文中访问序列号。但这取决于你使用的适配器,如果基于排队的适配器,你有更多的机会,否则我怀疑。


要靠近,如果启用跟踪,则以下SQL查询可以获取给定接收位置的跟踪事件。可以按
订购
[Event / EventID]或[Event / Timestamp]可以获得此特定接收位置接收消息的顺序。

 SELECT MF。* from 
BizTalkMgmtDb.dbo.adm_ReceiveLocation RL
JOIN BizTalkMgmtDb.dbo.bts_receiveport RP ON RP.nID = RL.ReceivePortId
JOIN BizTalkDTADb.dbo.dtav_MessageFacts MF ON MF。[事件/端口] = RP.nvcName
AND MF。[Event / URL] = RL.InboundTransportURL
- 给ReceiveLocation名称
WHERE RL.Name ='YourReceiveLocationName'AND
MF。[Event / Direction] ='Receive'
--ORDER BY [Event / Timestamp] DESC
ORDER BY [Event / EventID] DESC

您还可以查看我添加的SQL脚本到TechN等一些时间让你获得给定接收位置的跟踪事件,这可以让你更接近
到你的要求。


https://gallery.technet.microsoft.com/Querying-for-messages-0dbe3259


但是从接收位置的角度来看,它不是manintain和
处理消息的序列号。



问候,


MRAshwin Prabhu


We are not using any disassemler. Input is single message and output is single message.

In short i want know the sequence number of message received by receive location in a single day.

解决方案

BizTalk’s Receive location doesn’t maintain any sequence number for the message’s it processed.

If the adapter used by the Receive Location adds any sequence number to the message processed, then you may access the sequence number from the context of the message in Receive Location. But it depends on what adapter you use, if its queuing based adapter, you have more chances, otherwise I doubt.

To get closer, if you enable tracking and the following SQL query can get you the tracking event for the given receive location. May be ordering it by [Event/EventID] or [Event/Timestamp] can get you the seqeunce in which messages are received by this particualr receive location.

SELECT MF.* from 
BizTalkMgmtDb.dbo.adm_ReceiveLocation RL
JOIN BizTalkMgmtDb.dbo.bts_receiveport RP ON RP.nID = RL.ReceivePortId
JOIN BizTalkDTADb.dbo.dtav_MessageFacts MF ON MF.[Event/Port] = RP.nvcName
  		         	AND MF.[Event/URL] = RL.InboundTransportURL
--Give the ReceiveLocation Name											
WHERE	RL.Name='YourReceiveLocationName' AND
		MF.[Event/Direction] = 'Receive'
--ORDER BY [Event/Timestamp] DESC
ORDER BY [Event/EventID]  DESC

You can also check the SQL script which I added to TechNet some time back gets you the tracked event for the given receive location, this can get you closer to your requirment.

https://gallery.technet.microsoft.com/Querying-for-messages-0dbe3259

But as said from Receive Location’s point of view, it doesn’t manintain and sequence number for the message’s it processed.

Regards,

M.R.Ashwin Prabhu


这篇关于我们可以在一天内获得由Reeive端口接收的消息号,如第一条消息,第二条消息等。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆