Wykonywania metadane zewnętrzne
Gdy składnik jest odłączony od urządzenie źródłowe danych, może sprawdzać kolumna w kolekcji kolumna wejściowych i wyjściowych dla kolumn na jego zewnętrznego urządzenie źródłowe danych przy użyciu IDTSExternalMetadataColumnCollection100 interfejs. Ten interfejs umożliwia utrzymanie migawkę kolumn na danych zewnętrznych urządzenie źródłowe i mapować te kolumna do kolumna w kolekcja kolumn wejściowe i wyjściowe składnika.
Wykonania kolumna metadane zewnętrznych dodaje warstwy obciążenie i złożoności rozwoju składnika, ponieważ należy utrzymywać i sprawdzanie poprawności przed gromadzenia dodatkowych kolumn, ale możliwość uniknięcia drogie round podróży do serwera w celu sprawdzania poprawności może dokonywać tego rozwoju pracy wartościowej.
Podczas wypełniania zewnętrzne kolumny metadane
kolumna metadane zewnętrznych zazwyczaj są dodawane do kolekcja, podczas tworzenia odpowiadające im dane wejściowe lub wyjściowe kolumna.Nowe kolumny są tworzone przez wywołanie New() Metoda. Właściwości kolumna, następnie ustaw zgodne danych zewnętrznych urządzenie źródłowe.
kolumna zewnętrznych metadane jest mapowane na odpowiadające im dane wejściowe lub wyjściowe kolumna przypisując identyfikator kolumna zewnętrzną metadane ExternalMetadataColumnID() Właściwość kolumna wejściowego lub wyjściowego. Dzięki temu można zlokalizować kolumna zewnętrzną metadane łatwo dla określonych danych wejściowych lub wyjściowych kolumna przy użyciu GetObjectByID(Int32) metoda kolekcja.
W poniższym przykładzie pokazano, jak utworzyć kolumna zewnętrzną metadane i mapowanie kolumna do kolumna wyprowadzenia ustawiając ExternalMetadataColumnID() Właściwość.
public void CreateExternalMetaDataColumn(IDTSOutput100 output, int outputColumnID )
{
IDTSOutputColumn100 oColumn = output.OutputColumnCollection.GetObjectByID(outputColumnID);
IDTSExternalMetadataColumn100 eColumn = output.ExternalMetadataColumnCollection.New();
eColumn.DataType = oColumn.DataType;
eColumn.Precision = oColumn.Precision;
eColumn.Scale = oColumn.Scale;
eColumn.Length = oColumn.Length;
eColumn.CodePage = oColumn.CodePage;
oColumn.ExternalMetadataColumnID = eColumn.ID;
}
Public Sub CreateExternalMetaDataColumn(ByVal output As IDTSOutput100, ByVal outputColumnID As Integer)
Dim oColumn As IDTSOutputColumn100 = output.OutputColumnCollection.GetObjectByID(outputColumnID)
Dim eColumn As IDTSExternalMetadataColumn100 = output.ExternalMetadataColumnCollection.New
eColumn.DataType = oColumn.DataType
eColumn.Precision = oColumn.Precision
eColumn.Scale = oColumn.Scale
eColumn.Length = oColumn.Length
eColumn.CodePage = oColumn.CodePage
oColumn.ExternalMetadataColumnID = eColumn.ID
End Sub
Sprawdzanie poprawności z zewnętrznej kolumny metadane
Sprawdzanie poprawności wymaga dodatkowych kroków dla składników, które utrzymują zewnętrznych metadane kolumna kolekcja, ponieważ musi sprawdzania poprawności przed dodatkowe zbiór kolumna s.Sprawdzanie poprawności może być podzielona na połączonym sprawdzania poprawności lub odłączony sprawdzania poprawności.
Sprawdzanie poprawności połączenia
Gdy składnik jest podłączony do zewnętrznego urządzenie źródłowe danych, kolumny w kolekcji wejściowe i wyjściowe są weryfikowane bezpośrednio względem z zewnętrznym źródłem danych.Ponadto kolumny w kolekcja metadane zewnętrznego musi być sprawdzony.Jest to wymagane, ponieważ kolekcja metadane zewnętrznych mogą być modyfikowane za pomocą Zaawansowany edytor in Business Intelligence Development Studio, a zmiany wprowadzone do kolekcji nie są wykrywalne. Dlatego po połączeniu, składniki muszą upewnij się, że kolumna w kolekcja kolumn zewnętrznych metadane nadal odzwierciedla kolumn na danych zewnętrznych urządzenie źródłowe.
Można ukryć kolekcja zewnętrznych metadane w Zaawansowany edytor ustawienieIsUsed() właściwość kolekcja, aby false. Mimo to również ukrycie Mapowanie kolumn kartę Edytor, który pozwala użytkownikom na mapowanie kolumn z kolekcja wejściowego lub wyjściowego do kolumna w kolekcja kolumn zewnętrznych metadane.Ustawienie tej właściwość na false nie zapobiega deweloperzy programowego modyfikowania kolekcja, ale ona poziom ochrony zewnętrznych metadane kolumna zbiór składników, które jest używane wyłącznie w Business Intelligence Development Studio.
Sprawdzanie poprawności odłączony
Gdy składnik jest odłączony od zewnętrznego urządzenie źródłowe danych, sprawdzania poprawności upraszcza ponieważ kolumny w kolekcja wejściowe i wyjściowe są weryfikowane bezpośrednio przed kolumny w kolekcja zewnętrznych metadane i nie przed urządzenie źródłowe zewnętrznego.Składnik powinien sprawdzenia poprawności odłączony, gdy nie ustanowiono połączenie ze swoim źródłem danych zewnętrznych lub ValidateExternalMetadata() Właściwość jest false.
Poniższy przykład kodu demonstruje implementację składnika, który sprawdza poprawność przed jego metadane zewnętrznych kolekcja kolumn.Na przykład uzyskać bardziej szczegółowe, zobacz temat ADO Source Component Sample.
public override DTSValidationStatus Validate()
{
if( this.isConnected && ComponentMetaData.ValidateExternalMetaData )
{
// TODO: Perform connected validation.
}
else
{
// TODO: Perform disconnected validation.
}
}
Public Overrides Function Validate() As DTSValidationStatus
If Me.isConnected AndAlso ComponentMetaData.ValidateExternalMetaData Then
' TODO: Perform connected validation.
Else
' TODO: Perform disconnected validation.
End If
End Function
|