Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:SQL Server
Azure Data Factory'de SSIS Tümleştirme Çalışma Zamanı
Entegrasyon Hizmetleri paketleri tarafından dönüştürülen verilerin genellikle nihai hedefi basılı bir rapor olur. Microsoft .NET Framework'teki System.Drawing.Printing isim alanı, yazıcılarla çalışmak için sınıflar sağlar.
Note
Birden fazla paket arasında daha kolay yeniden kullanabileceğiniz bir görev oluşturmak istiyorsanız, bu Script görev örneğindeki kodu özel bir görev için başlangıç noktası olarak kullanmayı düşünün. Daha fazla bilgi için bkz. Özel Görev geliştirme.
Description
Aşağıdaki örnek, sunucuda kurulan ve yasal boyutta kağıdı destekleyen yazıcıları (Birleşik Devletler'te kullanıldığı gibi) bulur. Desteklenen kağıt boyutlarını kontrol etmek için kullanılan kod, özel bir fonksiyonda kapsüllenmiştir. Her yazıcı için ayarları kontrol ederken bekinin ilerlemesini takip edebilmek için, script yasal boyutta kağıt kullanan yazıcılar için bilgilendirici mesaj yükseltmek ve yasal boyutta kağıdı olmayan yazıcılar için uyarı vermek için bu yöntemi kullanır Log . Bu mesajlar, paketi tasarımcıda çalıştırdığınızda Microsoft Visual Studio Apps for Applications (VSTA) IDE'nin Çıkış penceresinde görünür.
Bu Script Görevi örneğini yapılandırmak için
Object tipiyle adlandırılan
PrinterListdeğişken oluşturun.Script Görev Editörü'nünScript sayfasında, bu değişkeni ReadWriteVariables özelliğine ekleyin.
Script projesinde, System.Drawing isim alanına bir referans ekleyin.
Kodunuzda, System.Collections ve System.Drawing.Printing isim alanlarını içe aktarmak için Imports ifadelerini kullanın.
Kod
Public Sub Main()
Dim printerName As String
Dim currentPrinter As New PrinterSettings
Dim size As PaperSize
Dim printerList As New ArrayList
For Each printerName In PrinterSettings.InstalledPrinters
currentPrinter.PrinterName = printerName
If PrinterHasLegalPaper(currentPrinter) Then
printerList.Add(printerName)
Dts.Events.FireInformation(0, "Example", _
"Printer " & printerName & " has legal paper.", _
String.Empty, 0, False)
Else
Dts.Events.FireWarning(0, "Example", _
"Printer " & printerName & " DOES NOT have legal paper.", _
String.Empty, 0)
End If
Next
Dts.Variables("PrinterList").Value = printerList
Dts.TaskResult = ScriptResults.Success
End Sub
Private Function PrinterHasLegalPaper( _
ByVal thisPrinter As PrinterSettings) As Boolean
Dim size As PaperSize
Dim hasLegal As Boolean = False
For Each size In thisPrinter.PaperSizes
If size.Kind = PaperKind.Legal Then
hasLegal = True
End If
Next
Return hasLegal
End Function
public void Main()
{
PrinterSettings currentPrinter = new PrinterSettings();
PaperSize size;
Boolean Flag = false;
ArrayList printerList = new ArrayList();
foreach (string printerName in PrinterSettings.InstalledPrinters)
{
currentPrinter.PrinterName = printerName;
if (PrinterHasLegalPaper(currentPrinter))
{
printerList.Add(printerName);
Dts.Events.FireInformation(0, "Example", "Printer " + printerName + " has legal paper.", String.Empty, 0, ref Flag);
}
else
{
Dts.Events.FireWarning(0, "Example", "Printer " + printerName + " DOES NOT have legal paper.", String.Empty, 0);
}
}
Dts.Variables["PrinterList"].Value = printerList;
Dts.TaskResult = (int)ScriptResults.Success;
}
private bool PrinterHasLegalPaper(PrinterSettings thisPrinter)
{
bool hasLegal = false;
foreach (PaperSize size in thisPrinter.PaperSizes)
{
if (size.Kind == PaperKind.Legal)
{
hasLegal = true;
}
}
return hasLegal;
}