Mengirim ke Antrean Pesan Privat Jarak Jauh dengan Tugas Skrip

Berlaku untuk: Integration Runtime SSIS SQL Server di Azure Data Factory

Antrean Pesan (juga dikenal sebagai MSMQ) memudahkan pengembang untuk berkomunikasi dengan program aplikasi dengan cepat dan andal dengan mengirim dan menerima pesan. Antrean pesan mungkin terletak di komputer lokal atau komputer jarak jauh, dan mungkin bersifat publik atau privat. Di Integration Services, manajer koneksi MSMQ dan tugas Antrean Pesan tidak mendukung pengiriman ke antrean privat di komputer jarak jauh. Namun, dengan menggunakan tugas Skrip, mudah untuk mengirim pesan ke antrean privat jarak jauh.

Catatan

Jika Anda ingin membuat tugas yang dapat digunakan kembali dengan lebih mudah di beberapa paket, pertimbangkan untuk menggunakan kode dalam sampel tugas Skrip ini sebagai titik awal untuk tugas kustom. Untuk informasi selengkapnya, lihat Mengembangkan Tugas Kustom.

Deskripsi

Contoh berikut menggunakan manajer koneksi MSMQ yang ada, bersama dengan objek dan metode dari namespace System.Messaging, untuk mengirim teks yang terkandung dalam variabel paket ke antrean pesan privat jarak jauh. Panggilan ke metode M:Microsoft.SqlServer.Dts.ManagedConnections.MSMQConn.AcquireConnection(System.Object) dari manajer koneksi MSMQ mengembalikan objek MessageQueue yang metode Kirimnya menyelesaikan tugas ini.

Untuk mengonfigurasi contoh Tugas Skrip ini

  1. Buat manajer koneksi MSMQ dengan nama default. Atur jalur antrean privat jarak jauh yang valid, dalam format berikut:

    FORMATNAME:DIRECT=OS:<computername>\private$\<queuename>  
    
  2. Buat variabel Integration Services bernama MessageText dari jenis String untuk meneruskan teks pesan ke dalam skrip. Masukkan pesan default sebagai nilai variabel.

  3. Tambahkan Tugas Skrip ke permukaan desain dan edit. Pada tab SkripEditor Tugas Skrip, tambahkan MessageText variabel ke properti ReadOnlyVariables untuk membuat variabel tersedia di dalam skrip.

  4. Klik Edit Skrip untuk membuka editor skrip Microsoft® Visual Studio® Tools for Applications (VSTA).

  5. Tambahkan referensi dalam proyek skrip ke namespace System.Messaging .

  6. Ganti konten jendela skrip dengan kode di bagian berikut.

Kode

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;  
  
        }  
  
}  

Lihat juga

Tugas Antrean Pesan