DtsEnumerator Sınıfı
Uygulayan bir soyut temel sınıf tanımlar IEnumerator yöntemleri.
Devralma Hiyerarşisi
System.Object
Microsoft.SqlServer.Dts.Runtime.DtsEnumerator
Diğer...
Ad Alanı: Microsoft.SqlServer.Dts.Runtime
Derleme: Microsoft.SqlServer.ManagedDTS (Microsoft.SqlServer.ManagedDTS içinde.dll)
Sözdizimi
'Bildirim
Public MustInherit Class DtsEnumerator _
Implements IEnumerator
'Kullanım
Dim instance As DtsEnumerator
public abstract class DtsEnumerator : IEnumerator
public ref class DtsEnumerator abstract : IEnumerator
[<AbstractClassAttribute>]
type DtsEnumerator =
class
interface IEnumerator
end
public abstract class DtsEnumerator implements IEnumerator
DtsEnumerator türü aşağıdaki üyeleri açıklar.
Yöntemler
Ad | Açıklama | |
---|---|---|
Equals | (Object öğesinden devralınmıştır.) | |
Finalize | (Object öğesinden devralınmıştır.) | |
GetHashCode | (Object öğesinden devralınmıştır.) | |
GetType | (Object öğesinden devralınmıştır.) | |
MemberwiseClone | (Object öğesinden devralınmıştır.) | |
MoveNext | Numaralandırıcı için sonraki öğeye ilerler koleksiyon. | |
Reset | Önce ilk öğe olan başlangıç konumunu, numaralayıcı ayarlar koleksiyon. | |
ToString | (Object öğesinden devralınmıştır.) |
Üst
Açıklamalar
DtsEnumeratorTaban arabirim için tüm numaralandırıcıları.DtsEnumerator Verir koleksiyonu içindeki verilerin yalnızca okuma ve değiştirme kullanılmaztemel alınan koleksiyon.
Başlangıçta, ilk öğe önce numaralayıcı yerleştirilir koleksiyon.ResetAyrıca numaralayıcı bu konuma getirir.AT bu getirin, arama Current atar bir özel durum.Bu nedenle, çağırmanız gerekir MoveNext ilk öğe için numaralayıcı ilerlemek için koleksiyon değeri okunurken önce Current.
Currentkadar ya da aynı nesnesi döndüren MoveNext veya Reset denir.MoveNextayarlar Current sonraki öğe.
Sonunda koleksiyon olan geçirilen, numaralayıcı içinde son öğesinden sonra yerleştirilir koleksiyonve MoveNext verir yanlış.Son çağrısı, MoveNext döndürülen yanlış, arama Current atar bir özel durum.İçin küme Current için yeniden koleksiyonun ilk öğesinden çağrısı Reset ardından MoveNext.
Bir Numaralandırıcı geçerli kalır sürece koleksiyon değişmeden kalır.Değişiklik, koleksiyon, gibi ekleme, değiştirme veya öğeleri silme numaralayıcı irrecoverably geçersiz kılınan ve sonraki çağrı için MoveNext veya Reset atar bir InvalidOperationException.Koleksiyon arasında değiştirilirse MoveNext ve Current, Current onu öğesini döndürür küme kadar numaralayıcı önceden geçersiz kılınan bile.
Numaralayıcı özel kullanım erişimine sahip koleksiyon; Bu nedenle üzerinden numaralandırma bir koleksiyon iş parçacığı-safe yordam değildir.Diğer iş bile ne zaman bir koleksiyon eşitlenir, neden olan bir özel durum numaralayıcı koleksiyonu, yine de değiştirebilir.Numaralandırma sırasında iş parçacığı güvenliği garanti için kilit toplama sırasında tüm numaralandırma veya değiştirilmesinden kaynaklanan özel durumları diğer iş parçacıkları tarafından yapılan catch.
Örnekler
Aşağıdaki kod örneği, bir paket için bir görev ekler, sonra paketi çalıştırır.Uyarılar koleksiyon oluşturarak gösterilen bir WarningEnumerator, bu miras, DtsEnumerator , sınıf ve görüntüler her uyarı açıklaması.
using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.SqlServer.Dts.Runtime;
using Microsoft.SqlServer.Dts.Tasks.ExecuteSQLTask;
namespace Microsoft.SqlServer.SSIS.Samples
{
class Program
{
static void Main(string[] args)
{
Package package = new Package();
Console.WriteLine("Package warnings count before running: {0}", package.Warnings.Count);
TaskHost taskH2 = (TaskHost)package.Executables.Add("STOCK:SendMailTask");
taskH2.FailPackageOnFailure = false;
taskH2.FailParentOnFailure = false;
Console.WriteLine("SendMailTask: {0}", taskH2.ID);
// Test that warnings were successfully added to the collection.
package.MaximumErrorCount = 100;
package.FailPackageOnFailure = false;
package.FailParentOnFailure = false;
package.DelayValidation = true;
package.Execute();
Console.WriteLine("Package warnings count after running the package: {0}", package.Warnings.Count);
// Create the enumerator.
WarningEnumerator myEnumerator = package.Warnings.GetEnumerator();
Console.WriteLine("The collection contains the following values:");
int i = 0;
while ((myEnumerator.MoveNext()) && (myEnumerator.Current != null))
Console.WriteLine("[{0}] {1}", i++, myEnumerator.Current.Description);
}
}
}
Imports System
Imports System.Collections.Generic
Imports System.Text
Imports Microsoft.SqlServer.Dts.Runtime
Imports Microsoft.SqlServer.Dts.Tasks.ExecuteSQLTask
Namespace Microsoft.SqlServer.SSIS.Samples
Class Program
Shared Sub Main(ByVal args() As String)
Dim package As Package = New Package()
Console.WriteLine("Package warnings count before running: {0}", package.Warnings.Count)
Dim taskH2 As TaskHost = CType(package.Executables.Add("STOCK:SendMailTask"), TaskHost)
taskH2.FailPackageOnFailure = False
taskH2.FailParentOnFailure = False
Console.WriteLine("SendMailTask: {0}", taskH2.ID)
' Test that warnings were successfully added to the collection.
package.MaximumErrorCount = 100
package.FailPackageOnFailure = False
package.FailParentOnFailure = False
package.DelayValidation = True
package.Execute()
Console.WriteLine("Package warnings count after running the package: {0}", package.Warnings.Count)
' Create the enumerator.
Dim myEnumerator As WarningEnumerator = package.Warnings.GetEnumerator()
Console.WriteLine("The collection contains the following values:")
Dim i As Integer = 0
While (myEnumerator.MoveNext()) &&(myEnumerator.Current <> Nothing)
Console.WriteLine("[{0}] {1}",i = Console.WriteLine("[{0}] {1}",i + 1
End While
End Sub
End Class
End Namespace
Örnek Çıktı:
Uyarıların sayısı paketi çalıştırmadan önce: 0
SendMailTask: {34CAEFF9-64BF-401 D-B646-C88B705DB971}
Paket çalıştırdıktan sonra paketi uyarı sayısı: 2
Koleksiyon aşağıdaki değerleri içerir:
[0] Adresine gönderen satırında düzgün biçimlendirilmez.Eksik olan bir @ veya geçerli değil.
[1] Boş konusudur
İş Parçacığı Güvenliği
Bu türdeki tüm ortak static (Visual Basic'te Shared) üyeler iş parçacığı için güvenlidir. Herhangi bir örnek üyenin iş parçacığı için güvenli olduğu garanti edilmemiştir.
Devralma Hiyerarşisi
System.Object
Microsoft.SqlServer.Dts.Runtime.DtsEnumerator
Microsoft.SqlServer.Dts.Runtime.BreakpointTargetEnumerator
Microsoft.SqlServer.Dts.Runtime.ConfigurationEnumerator
Microsoft.SqlServer.Dts.Runtime.ConnectionEnumerator
Microsoft.SqlServer.Dts.Runtime.ConnectionInfoEnumerator
Microsoft.SqlServer.Dts.Runtime.DBProviderInfoEnumerator
Microsoft.SqlServer.Dts.Runtime.DtsEventHandlerEnumerator
Microsoft.SqlServer.Dts.Runtime.ErrorEnumerator
Microsoft.SqlServer.Dts.Runtime.EventInfoEnumerator
Microsoft.SqlServer.Dts.Runtime.ExecutableEnumerator
Microsoft.SqlServer.Dts.Runtime.ExtendedPropertyEnumerator
Microsoft.SqlServer.Dts.Runtime.ForEachEnumeratorInfosEnumerator
Microsoft.SqlServer.Dts.Runtime.ForEachVariableMappingEnumerator
Microsoft.SqlServer.Dts.Runtime.LogEntryInfoEnumerator
Microsoft.SqlServer.Dts.Runtime.LogProviderEnumerator
Microsoft.SqlServer.Dts.Runtime.LogProviderInfoEnumerator
Microsoft.SqlServer.Dts.Runtime.PackageInfoEnumerator
Microsoft.SqlServer.Dts.Runtime.PipelineComponentInfoEnumerator
Microsoft.SqlServer.Dts.Runtime.PrecedenceConstraintEnumerator
Microsoft.SqlServer.Dts.Runtime.PropertyEnumerator
Microsoft.SqlServer.Dts.Runtime.RunningPackagesEnumerator
Microsoft.SqlServer.Dts.Runtime.TaskInfoEnumerator
Microsoft.SqlServer.Dts.Runtime.VariableEnumerator
Microsoft.SqlServer.Dts.Runtime.WarningEnumerator