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
Buat manajer koneksi MSMQ dengan nama default. Atur jalur antrean privat jarak jauh yang valid, dalam format berikut:
FORMATNAME:DIRECT=OS:<computername>\private$\<queuename>
Buat variabel Integration Services bernama MessageText dari jenis String untuk meneruskan teks pesan ke dalam skrip. Masukkan pesan default sebagai nilai variabel.
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.Klik Edit Skrip untuk membuka editor skrip Microsoft® Visual Studio® Tools for Applications (VSTA).
Tambahkan referensi dalam proyek skrip ke namespace System.Messaging .
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
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk