Biztalk的 - 我可以更改接收现有的接收位置的端口?
-
19-09-2019 - |
题
我有两个不同的接收端口和两个接收位置 - 分配给每个端口的一个位置。这些端口设置为接收完全相同的类型的文件 - 我结束了两个,因为我认为合并做同样的事情两个不同的应用
我想这两个位置合并成一个单一的接收端口,但我似乎并没有能够改变位置,要么属于 - 没有选择这样做,我可以找到。从本质上讲,我只是想好好一个位置。(无论是 - 我不关心),并将其分配给其他端口,这样一个端口有两个位置,而另一个具有无
是否有人知道的方式来改变接收现有的位置的端口?
解决方案
我使出了暗侧,和手动更新SQL表。我仍然欢迎任何人谁拥有合法的,支持的方式做到这一点,但谁需要一个答案的任何人,这里是我写来解决这个问题的脚本(到目前为止,还没有副作用,但它只有一天) :
DECLARE @AppName VARCHAR(255),
@ReceiveLocationName VARCHAR(255),
@NewReceivePortName VARCHAR(255)
SET @AppName = 'Your application name'
SET @ReceiveLocationName = 'Name of your existing receive location'
SET @NewReceivePortName = 'Name of receive port to move location to'
DECLARE @NewPortID INT
DECLARE @ReceiveLocationID INT
SELECT @NewPortID = rp.[nID]
FROM [BizTalkMgmtDb].[dbo].[bts_application] a
JOIN [BizTalkMgmtDb].[dbo].[bts_receiveport] rp
ON a.nID = rp.nApplicationID
WHERE a.nvcName = @AppName
AND rp.nvcName = @NewReceivePortName
SELECT @ReceiveLocationID = Id
FROM [BizTalkMgmtDb].[dbo].[adm_receivelocation]
WHERE Name = @ReceiveLocationName
UPDATE [BizTalkMgmtDb].[dbo].[adm_receivelocation]
SET ReceivePortId = @NewPortID,
IsPrimary = 0
WHERE Id = @ReceiveLocationID
其他提示
请不要试图在BizTalk系统数据库,SQL直接的变化。你总是使用微软提供的API的。
尝试要么ExplorerOM或WMI做任何这样的配置更改。 http://msdn.microsoft.com /en-us/library/microsoft.biztalk.explorerom.receiveport_members(v=bts.10 ) http://msdn.microsoft.com/en-我们/库/ ee277482(v = bts.10)的.aspx
如果万一您进行直接的DB变化和提高微软的支持,他们不会支持它。
不隶属于 StackOverflow