Sending to a Remote Private Message Queue with the Script Task
kolejkowanie wiadomości (usługa MSMQ) umożliwia łatwe dla deweloperów do komunikowania się z aplikacje szybko i niezawodnie przez wysyłanie i odbieranie wiadomości.Kolejka komunikatów mogą znajdować się na komputerze lokalnym lub zdalnym komputerze i może być publicznym lub prywatnym.W Integration Services, Menedżer połączeń usługi usługa MSMQ i zadanie Kolejkowanie wiadomości nie obsługuje wysyłania do kolejki prywatnej na komputerze zdalnym. Jednak korzystając z zadań skryptów, łatwo jest wysyłanie wiadomości do kolejki zdalnej prywatnej.
Uwaga
Jeśli chcesz utworzyć zadanie, które łatwo można używać w wielu pakietów, należy rozważyć przy użyciu kodu w tym przykładzie skrypt zadanie jako punkt początkowy dla niestandardowego zadania.Aby uzyskać więcej informacji zobaczOpracowywania niestandardowego zadania.
Description
W poniższym przykładzie użyto istniejących usługa MSMQ połączenia zarządcę, wraz z obiektów i metod z System.Messaging obszar nazw, wysyłanie tekst znajdujący się w zmiennej pakiet do kolejki zdalnej wiadomości prywatne. Wywołanie M:Microsoft.SqlServer.Dts.ManagedConnections.MSMQConn.AcquireConnection(System.Object) Metoda Menedżer połączeń usługi usługa MSMQ zwraca MessageQueue obiekt, którego Send metoda wykonująca to zadanie.
Aby skonfigurować ten przykład zadania skryptu
Utwórz usługa MSMQ Menedżer połączeń z domyślną nazwą.Ustaw ścieżka do prawidłowego zdalnej kolejki prywatnej, w następującym formacie:
FORMATNAME:DIRECT=OS:<computername>\private$\<queuename>Tworzenie Integration Services Zmienna o nazwie MessageText of type String tekst komunikatu należy przekazać do skryptu. Wprowadź komunikat domyślny, jako wartość zmiennej.
Dodawanie zadania skryptu do powierzchni projektu i jego edycję.Na Skrypt Karta Edytor zadań skryptu, add the MessageText zmienne do ReadOnlyVariables właściwość, aby udostępnić zmiennej wewnątrz skryptu.
Click Edit Script to open the Microsoft Visual Studio Tools for Applications (VSTA) script editor.
Dodaj odwołanie projektu skryptu w System.Messaging obszar nazw.
Zastąp kod w poniższej sekcji zawartość okna skryptu.
Code
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;
}
}
|
Konfiguracja w aktualizacji z usług integracja Services pobytu