Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för:SQL Server
SSIS Integration Runtime i Azure Data Factory
Meddelandekö (även känt som MSMQ) gör det enkelt för utvecklare att snabbt och pålitligt kommunicera med applikationsprogram genom att skicka och ta emot meddelanden. En meddelandekö kan vara placerad på den lokala datorn eller en fjärrdator, och kan vara offentlig eller privat. I Integration Services stöder inte MSMQ-anslutningshanteraren och Message Queue-uppgiften att skicka till en privat kö på en fjärrdator. Genom att använda Script-uppgiften är det dock enkelt att skicka ett meddelande till en fjärrprivat kö.
Note
Om du vill skapa en uppgift som du lättare kan återanvända över flera paket, överväg att använda koden i detta Script-uppgiftsexempel som utgångspunkt för en anpassad uppgift. Mer information finns i Utveckla en anpassad uppgift.
Description
Följande exempel använder en befintlig MSMQ-anslutningshanterare, tillsammans med objekt och metoder från System.Messaging-namnrymden, för att skicka texten i en paketvariabel till en avlägsen privat meddelandekö. Kallelsen till M:Microsoft. SqlServer.Dts.ManagedConnections.MSMQConn.AcquireConnection(System.Object)-metoden i MSMQ-anslutningshanteraren returnerar ett MessageQueue-objekt vars Send-metod utför denna uppgift.
För att konfigurera detta exempel på Script Task
Skapa en MSMQ-anslutningshanterare med standardnamnet. Sätt vägen för en giltig fjärrprivat kö, i följande format:
FORMATNAME:DIRECT=OS:<computername>\private$\<queuename>Skapa en variabel Integration Services vid namn MessageText av typen String för att skicka meddelandetexten till skriptet. Ange ett standardmeddelande som variabelns värde.
Lägg till en Script Task på designytan och redigera den. På fliken Script i Script Task Editor, lägg till variabeln
MessageTexti egenskapen ReadOnlyVariables för att göra variabeln tillgänglig i skriptet.Klicka på Redigera skript för att öppna skriptredigeraren Microsoft Visual Studio Tools for Applications (VSTA).
Lägg till en referens i skriptprojektet till System.Messaging-namnrymden .
Ersätt innehållet i skriptfönstret med koden i följande avsnitt.
Kod
Imports System
Imports Microsoft.SqlServer.Dts.Runtime
Imports System.Messaging
Public Class ScriptMain
Public Sub Main()
Dim remotePrivateQueue As MessageQueue
Dim messageText As String
remotePrivateQueue = _
DirectCast(Dts.Connections("Message Queue Connection Manager").AcquireConnection(Dts.Transaction), _
MessageQueue)
messageText = DirectCast(Dts.Variables("MessageText").Value, String)
remotePrivateQueue.Send(messageText)
Dts.TaskResult = ScriptResults.Success
End Sub
End Class
using System;
using Microsoft.SqlServer.Dts.Runtime;
using System.Messaging;
public class ScriptMain
{
public void Main()
{
MessageQueue remotePrivateQueue = new MessageQueue();
string messageText;
remotePrivateQueue = (MessageQueue)(Dts.Connections["Message Queue Connection Manager"].AcquireConnection(Dts.Transaction) as MessageQueue);
messageText = (string)(Dts.Variables["MessageText"].Value);
remotePrivateQueue.Send(messageText);
Dts.TaskResult = (int)ScriptResults.Success;
}
}