BizTalkが - 私は、既存の受信場所の受信ポートを変更できますか?
-
19-09-2019 - |
質問
Iは、異なる二つのポートと2つの場所を受信する受信有します。ポートは、ファイルの正確な同じタイプを受信するように設定されている - 私は同じ事をした2つの異なるアプリケーションを統合しているため、私は両方になってしまった。
。私は、単一の受信ポートに両方の場所を結合したいのですが、どちらかが属している私は、場所を変更することはできていないようです - 私は見つけることができるようにこれを行うにはオプションはありません。基本的に、私はただ一つの場所を取るしたいと思います。(どちらか - 私は気にしない)、および1つのポートが2つの場所を持っており、他には何を持っていないように、他のポートに割り当てます。
誰かが既存の場所の受信ポートを変更する方法を知っていますか?
解決
私はダークサイドに頼って、手動でSQLテーブルを更新します。私はまだこれを行うための合法的な、サポートされている方法を持っている誰でも歓迎したいが、答えを必要とする任意の他の人に、ここで私は、この問題解決するために書いたスクリプトです(今のところなし副作用は、それだけで1日だったが) :
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の変更を行うと、Microsoftのサポートを上げた場合、彼らはそれをサポートしていません。