1

我有两个不同的接收端口和两个接收位置 - 每个端口分配一个位置。端口设置为接收完全相同类型的文件 - 我最终得到了两者,因为我合并了两个执行相同操作的不同应用程序。

我想将这两个位置合并到一个接收端口中,但我似乎无法更改其中一个位置所属的位置 - 我找不到这样做的选项。本质上,我只想取一个位置(或者 - 我不在乎),并将其分配给另一个端口,这样一个端口有两个位置,另一个没有。

有人知道更改现有位置的接收端口的方法吗?

4

2 回答 2

1

我求助于阴暗面,手动更新了 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
于 2009-10-02T16:35:17.757 回答
0

请不要尝试在 BizTalk 系统数据库中进行此类直接 SQL 更改。您始终使用 Microsoft 提供的 API。

尝试使用 ExplorerOM 或 WMI 进行任何此类配置更改。 http://msdn.microsoft.com/en-us/library/microsoft.biztalk.explorerom.receiveport_members(v=bts.10 ) http://msdn.microsoft.com/en-us/library/ee277482(v= bts.10).aspx

如果您直接更改数据库并提高 Microsoft 支持,他们将不会支持它。

于 2012-05-22T10:42:15.267 回答