Biztalk - могу ли я изменить порт приема существующего местоположения приема? - PullRequest
1 голос
/ 02 октября 2009

У меня есть два разных порта приема и два местоположения приема - одно местоположение, назначенное каждому порту. Порты настроены на получение файлов одинакового типа - я выбрал оба, потому что я объединил два разных приложения, которые делали одно и то же.

Я хочу объединить оба местоположения в один порт приема, но мне кажется, что я не могу изменить местоположение, которое принадлежит одному из них - я не могу найти этого варианта. По сути, я просто хочу взять одно местоположение (либо - мне все равно) и назначить его другому порту, чтобы у одного порта было два местоположения, а у другого - нет.

Кто-нибудь знает способ изменить порт приема существующего местоположения?

Ответы [ 2 ]

1 голос
/ 02 октября 2009

Я перешел на темную сторону и вручную обновил таблицу 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
0 голосов
/ 22 мая 2012

Пожалуйста, не пытайтесь делать такие прямые изменения SQL в системных базах данных BizTalk. Вы всегда используете API, предоставленные Microsoft.

Попробуйте либо 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, они не будут ее поддерживать.

...