Projekt —czas metody danych przepływu składnika
Przed wykonaniem zadania przepływ danych jest nazywany w projekt -czas Państwo, jak go przyrostowe zmianom.Zmiany mogą obejmować, dodawania lub usuwania składników, dodawania lub usuwania obiektów ścieżka, które łączą składniki i zmiany do metadane składników.Kiedy wystąpią zmiany metadane, składnik można monitorować i reagowania na zmiany.Na przykład składnik może uniemożliwić niektórych zmian lub wprowadzić dodatkowe zmiany w odpowiedzi na zmiany.W projekcie czas, Projektant współdziała ze składnikiem za pośrednictwem projektu -czas IDTSDesigntimeComponent100 interfejs.
Podczas projektowania wdrożenia
Projekt —czas interfejs składnika jest opisany przez IDTSDesigntimeComponent100 interfejsu.Chociaż jawnie nie implementuje ten interfejs, znajomość metod określonych w tym interfejsie ułatwią zrozumienie metod, które z PipelineComponent klasy podstawowej odpowiadają projektu -czas wystąpienie składnika.
Gdy składnik jest ładowany w Business Intelligence Development Studio, projekt -czas wystąpienie instancji składnika i metody IDTSDesigntimeComponent100 interfejs są nazywane edycji komponentu.Implementacja klasy podstawowej pozwala zastąpić tylko metody, które wymaga składnika.W wielu przypadkach mogą zastąpić te metody, aby zapobiec edycji rekordów nieodpowiednie do składnika.Na przykład, aby uniemożliwić użytkownikom dodawanie wyjściowe składnika, należy zastąpić InsertOutput metoda.W przeciwnym razie po wywołaniu stosowania tej metoda w klasie podstawowej dodaje dane wyjściowe, do składnika.
Niezależnie od celu i funkcji składnika należy zastąpić ProvideComponentProperties, Validate, i ReinitializeMetaData metody.Więcej informacji o Validate i ReinitializeMetaData, zobacz Sprawdzanie poprawności składnika przepływu danych.
Metoda ProvideComponentProperties
Inicjowanie składnika występuje w ProvideComponentProperties metoda.Ta metoda jest wywoływana przez SSIS Projektant po dodaniu składnika do zadanie przepływu danychi jest podobna do konstruktora klasy.Deweloperzy składników należy utworzyć i zainicjować swoich nakładów, wyników oraz właściwości niestandardowe podczas tego wywołania metoda.ProvideComponentProperties Metoda różni się od konstruktora, ponieważ nie jest wywoływana co czas , projekt -czas wystąpienie lub uruchom -czas wystąpienia instancji składnika.
Implementacja klasy podstawowej metoda dodaje dane wejściowe i wyjściowe składnika i przypisuje identyfikator dane wejściowe do SynchronousInputID właściwość.Jednakże w SQL Server, obiekty wejściowe i wyjściowe dodane przez klasy bazowej nie noszą.Opakowania zawierające składnik z wejściem lub wyjściem obiekty, których Name właściwość nie jest zestaw nie będzie obciążenia.W związku z tym, kiedy używać implementacji podstawowej, należy przypisać wartości jawnie do Name właściwość domyślne wejściowe i wyjściowe.
public override void ProvideComponentProperties()
{
/// TODO: Reset the component.
/// TODO: Add custom properties.
/// TODO: Add input objects.
/// TODO: Add output objects.
}
Public Overrides Sub ProvideComponentProperties()
' TODO: Reset the component.
' TODO: Add custom properties.
' TODO: Add input objects.
' TODO: Add output objects.
End Sub
Tworzenie właściwości niestandardowych
Wywołanie ProvideComponentProperties gdzie Deweloperzy składników należy dodać właściwości niestandardowe jest metoda (IDTSCustomProperty100) do składnika.właściwość niestandardowe nie ma właściwość typu danych.Typ danych właściwość niestandardowych jest zestaw przez typ danych wartości, można przypisać do jego Value właściwość.Jednak po przypisaniu wartość początkową właściwość niestandardowej, nie można przypisać wartości z innego typu danych.
Ostrzeżenie
IDTSCustomProperty100 Interfejs ma ograniczoną obsługę wartości właściwość typu Object.Tylko obiekt, który można przechowywać jako wartość właściwość niestandardowej jest tablicą typów prostych, takie jak ciągi lub liczb całkowitych.
Można wskazać, że właściwości niestandardowej obsługuje właściwość wyrażeń, ustawiając wartość jej ExpressionType Właściwość CPET_NOTIFY z DTSCustomPropertyExpressionType wyliczenie, jak pokazano w następującym przykładzie.Nie trzeba dodać kod obsługi lub sprawdzenia poprawności wyrażenie właściwość wprowadzonych przez użytkownika.zestaw wartość domyślną właściwość, sprawdzania jego wartości i odczytywać i używać jej wartość normalnie.
IDTSCustomProperty100 myCustomProperty;
...
myCustomProperty.ExpressionType = DTSCustomPropertyExpressionType.CPET_NOTIFY;
Dim myCustomProperty As IDTSCustomProperty100
...
myCustomProperty.ExpressionType = DTSCustomPropertyExpressionType.CPET_NOTIFY
Użytkowników można ograniczyć do wyboru wartości właściwość niestandardowej z wyliczenia za pomocą TypeConverter właściwość, jak pokazano w poniższym przykładzie założono, zdefiniowane publicznych wyliczenia o nazwie MyValidValues.
IDTSCustomProperty100 customProperty = outputColumn.CustomPropertyCollection.New();
customProperty.Name = "My Custom Property";
// This line associates the type with the custom property.
customProperty.TypeConverter = typeof(MyValidValues).AssemblyQualifiedName;
// Now you can use the enumeration values directly.
customProperty.Value = MyValidValues.ValueOne;
Dim customProperty As IDTSCustomProperty100 = outputColumn.CustomPropertyCollection.New
customProperty.Name = "My Custom Property"
' This line associates the type with the custom property.
customProperty.TypeConverter = GetType(MyValidValues).AssemblyQualifiedName
' Now you can use the enumeration values directly.
customProperty.Value = MyValidValues.ValueOne
Aby uzyskać więcej informacji zobacz "Generalized konwersja typu" i "Wdrażanie konwertera typu" w MSDN Library.
Okno dialogowe Edytor niestandardowe wartości właściwość niestandardowej można określić za pomocą UITypeEditor właściwość, jak pokazano w następującym przykładzie.Najpierw należy utworzyć niestandardowy typ ich Edytor, która dziedziczy z System.Drawing.Design.UITypeEditor, jeśli nie można zlokalizować klasy Edytor istniejącej typ interfejsu użytkownika, który odpowiada własnemu potrzeb.
public class MyCustomTypeEditor : UITypeEditor
{
...
}
Public Class MyCustomTypeEditor
Inherits UITypeEditor
...
End Class
Następnie należy określić tej klasy jako wartość UITypeEditor właściwość niestandardowych właściwość.
IDTSCustomProperty100 customProperty = outputColumn.CustomPropertyCollection.New();
customProperty.Name = "My Custom Property";
// This line associates the editor with the custom property.
customProperty.UITypeEditor = typeof(MyCustomTypeEditor).AssemblyQualifiedName;
Dim customProperty As IDTSCustomProperty100 = outputColumn.CustomPropertyCollection.New
customProperty.Name = "My Custom Property"
' This line associates the editor with the custom property.
customProperty.UITypeEditor = GetType(MyCustomTypeEditor).AssemblyQualifiedName
Aby uzyskać więcej informacji zobacz "Implementowanie interfejsu użytkownika typu Editor" w MSDN Library.
|