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
Другие советы
Пожалуйста, не пытайтесь вносить такие прямые изменения SQL в системные базы данных BizTalk.Вы всегда используете 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, они это не поддержат.