Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí pro:SQL Server
SSIS Integration Runtime v rámci Azure Data Factory
Fronta zpráv (známá také jako MSMQ) umožňuje vývojářům rychlou a spolehlivou komunikaci s aplikačními programy prostřednictvím odesílání a přijímání zpráv. Fronta zpráv může být umístěna na lokálním počítači nebo vzdáleném počítači a může být veřejná nebo soukromá. V integračních službách správce spojení MSMQ a úloha fronty zpráv nepodporují odesílání do soukromé fronty na vzdáleném počítači. Nicméně použitím úlohy Script je snadné odeslat zprávu do vzdálené soukromé fronty.
Note
Pokud chcete vytvořit úkol, který lze snadněji znovu použít napříč více balíčky, zvažte použití kódu v tomto ukázkovém skriptu úlohy jako výchozího bodu pro vlastní úkol. Další informace naleznete v tématu Vývoj vlastníhoúloh .
Description
Následující příklad používá existující správce spojení MSMQ spolu s objekty a metodami z jmenného prostoru System.Messaging k odeslání textu obsaženého v proměnné balíčku do vzdálené fronty soukromých zpráv. Volání na M:Microsoft. Metoda SqlServer.Dts.ManagedConnections.MSMQConn.AcquireConnection(System.Object) správce spojení MSMQ vrací objekt MessageQueue, jehož metoda Send tuto úlohu splní.
Pro konfiguraci tohoto příkladu Script Task
Vytvořte správce spojení MSMQ s výchozím názvem. Nastavte cestu platné vzdálené soukromé fronty v následujícím formátu:
FORMATNAME:DIRECT=OS:<computername>\private$\<queuename>Vytvořte proměnnou Integration Services s názvem MessageText typu String , která předá text zprávy do skriptu. Zadejte výchozí zprávu jako hodnotu proměnné.
Přidejte skriptovou úlohu na designovou plochu a upravte ji. Na záložce Script v Editoru úloh skriptů přidejte proměnnou
MessageTextdo vlastnosti ReadOnlyVariables , aby byla proměnná dostupná uvnitř skriptu.Klikněte na Edit Script pro otevření editoru skriptů Microsoft Visual Studio Tools for Applications (VSTA).
Přidejte odkaz do skriptového projektu na jmenný prostor System.Messaging .
Nahraďte obsah okna skriptu kódem v následující sekci.
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;
}
}