Implementowanie zewnętrznych metadanych
Gdy składnik jest odłączony od źródło danych, można sprawdzić poprawność kolumna w kolekcji kolumna wejściowe i wyjściowe przeciwko kolumn na jego zewnętrznego źródło danych przy użyciu IDTSExternalMetadataColumnCollection100 interfejs.Ten interfejs umożliwia migawkę kolumn na danych zewnętrznych źródło i mapowanie te kolumna do kolumn kolekcja kolumn wejściowe i wyjściowe składnika.
Implementowanie kolumna metadane zewnętrznych dodaje warstwy obciążenie i złożoność rozwoju składnika, ponieważ muszą utrzymywać i sprawdzania poprawności kolekcja dodatkowych kolumn, ale możliwość uniknięcia kosztownych przesłania do serwera w celu sprawdzania poprawności może dokonać tego rozwoju pracy wartościowej.
Wypełnianie kolumny metadanych zewnętrzne
kolumna metadane zewnętrznych zazwyczaj są dodawane do kolekcja, po utworzeniu odpowiednie wejście lub wyjście kolumna.Nowe kolumny są tworzone przez wywołanie New metoda.Właściwości kolumna są następnie zestaw do zewnętrznego źródło danych.
kolumna metadane zewnętrznych jest mapowane na odpowiednie wejście lub wyjście kolumna przypisując identyfikator kolumna zewnętrznych metadane do ExternalMetadataColumnID Właściwość kolumna wejściowego lub wyjściowego.Dzięki temu można zlokalizować kolumny metadane zewnętrznych łatwo dla konkretnych danych wejściowych lub kolumna wyprowadzenia za pomocą GetObjectByID metoda kolekcja.
Poniższy przykład pokazuje sposób utworzyć kolumna zewnętrzną metadane, a następnie zamapować kolumna do kolumna wyników przez ustawienie 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 zewnętrznych kolumny metadanych
Sprawdzanie poprawności dodatkowych kroków dla składników, które utrzymują zewnętrznych metadane kolumna kolekcja, ponieważ musi sprawdzania poprawności dodatkowe zbiór kolumnas.Sprawdzanie poprawności można podzielić na połączonych sprawdzania poprawności lub odłączony sprawdzania poprawności.
Sprawdzanie poprawności połączenia
Gdy składnik jest podłączony do zewnętrznego źródło danych, kolumny w kolekcji wejściowego lub wyjściowego są sprawdzane bezpośrednio z zewnętrznym źródłem danych.Ponadto można sprawdzić kolumny kolekcja zewnętrznych metadane.Jest to wymagane, ponieważ kolekcja zewnętrznych metadane można modyfikować za pomocą Zaawansowanego edytora w Business Intelligence Development Studio, a zmiany wprowadzone do kolekcji nie są wykrywalne.Dlatego po połączeniu, składniki muszą upewnij się, że kolumna kolekcja kolumna metadane zewnętrzne nadal odzwierciedlają kolumn na danych zewnętrznych źródło.
Możesz ukryć kolekcja zewnętrznych metadane w Zaawansowanego edytora przez ustawienie IsUsed właściwość kolekcja false.Jednak to także ukrycie Mapowanie kolumna kartę Edytor, który umożliwia mapowanie kolumn z kolekcja wejściowego lub wyjściowego do kolumn kolekcja kolumn zewnętrznych metadane.Ustawienie tej właściwość na false nie zapobiega deweloperzy modyfikowanie programowo kolekcja, zapewnia poziom ochrony zewnętrznej metadane, ale kolumna kolekcja składnik, który jest używany wyłącznie w Business Intelligence Development Studio.
Odłączony sprawdzania poprawności
Gdy składnik jest odłączony od zewnętrznego źródło danych, sprawdzanie poprawności jest uproszczone, ponieważ kolumny kolekcja wejściowego lub wyjściowego są weryfikowane bezpośrednio przed kolumny kolekcja zewnętrznych metadane i nie przed zewnętrznego źródło.Składnik należy wykonać rozłączonych sprawdzania poprawności, gdy nie ustanowiono połączenie źródło danych zewnętrznych lub ValidateExternalMetadata właściwość jest false.
Poniższy przykład kodu pokazuje implementację składnika, który wykonuje sprawdzanie poprawności przed jego metadane zewnętrznych kolumna kolekcja.Na przykład bardziej szczegółowe, zobacz Integration Services próbki na witrynie Codeplex.
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
|