Udostępnij za pośrednictwem


Projektowanie obiektów niestandardowych dla usług Integration Services

Jeśli obiekty przepływu sterowania i przepływu danych, które są dołączone do SQL Server Integration Services całkowicie nie spełniają potrzeb użytkownika, można samodzielnie opracować wiele typów obiektów niestandardowych, a w tym:

  • Zadania niestandardowe.

  • Niestandardowi menedżerowie połączeń.   Łączenie z zewnętrznymi źródłami danych, które nie są obecnie obsługiwane.

  • Niestandardowi dostawcy dzienników.    Zapisywanie w dzienniku zdarzeń pakietów w formatach, które nie są obecnie obsługiwane.

  • Niestandardowe moduły wyliczające.   Obsługuje iterację w zestawie obiektów lub formatów wartości, które nie są obecnie obsługiwane.

  • Niestandardowe składniki przepływu danych.   Może być skonfigurowany jako źródła, przekształcenia lub miejsca docelowe.

Integration Services Model obiektowy ułatwia to niestandardowe projektowanie za pomocą klasy bazowej, która zapewnić spójną i wiarygodną architekturę niestandardowej implementacji.

Jeśli nie ma potrzeby ponownego użycia niestandardowej funkcjonalności w wielu pakietach, zadanie skryptu i składnik skryptu umożliwiają pełne wykorzystanie zarządzanego języka programowania przy znacząco mniejszej ilości kodu do napisania.Aby uzyskać więcej informacji, zobacz Porównanie roztworów skryptów i niestandardowych obiektów.

Aby zapoznać się z próbkami roboczymi każdego typu obiektu, zobacz Integration Services próbki na Codeplex.

Kroki w projektowaniu obiektu niestandardowego dla usług Integration Services

Podczas opracowywania niestandardowych obiektów do użytku w Integration Services, jest opracowywana Biblioteka klas (DLL), która będzie ładowana w czasie projektowania i uruchomienia za pomocą Projektanta SSIS i czasu uruchomienia Integration Services.Najważniejsze metody, które należy zaimplementować, nie są metodami, które można wywoływać z własnego kodu, ale metodami, które czas uruchomienia wywołuje w odpowiednich momentach do inicjowania i sprawdzania poprawności składnika i wywołania jego funkcjonalności.

Poniżej przedstawiono kroki, które można wykonać podczas opracowywania niestandardowych obiektów:

  1. Tworzenie nowego projekt typu biblioteka klas w preferowanym zarządzanym języku programowania.

  2. Dziedziczenie od odpowiedniej klasy podstawowej, jak pokazano w poniższej tabeli.

  3. Zastosowanie odpowiedniego atrybutu do nowej klasy, jak pokazano w poniższej tabeli.

  4. Zastępowanie metody klasy bazowej zgodnie z wymaganiami i napisanie kodu niestandardowej funkcjonalności obiektu.

  5. Opcjonalnie tworzenie niestandardowego interfejsu użytkownika dla danego składnika.W celu ułatwienia wdrażania można opracować interfejs użytkownika jako oddzielny projekt w ramach tego samego rozwiązania i skonstruować go jako osobny zestaw.

  6. Buduj, wdrażaj i debuguj nowe obiekty niestandardowe, jak opisano w Budowanie, wdrażanie i debugowania obiektów niestandardowych.

Klasy podstawowe, atrybuty i ważne metody

Ta tabela zapewnia łatwe odniesienie do najważniejszych elementów w modelu obiektowym Integration Services dla każdego typu obiektów niestandardowych, które można opracować.

Obiekt niestandardowy

Klasa podstawowa

Attribute

Ważne metody

Zadanie

[ T:Microsoft.SqlServer.Dts.Runtime.Task ]

[ T:Microsoft.SqlServer.Dts.Runtime.DtsTaskAttribute ]

[ M:Microsoft.SqlServer.Dts.Runtime.Task.Execute(Microsoft.SqlServer.Dts.Runtime.Connections,Microsoft.SqlServer.Dts.Runtime.VariableDispenser,Microsoft.SqlServer.Dts.Runtime.IDTSComponentEvents,Microsoft.SqlServer.Dts.Runtime.IDTSLogging,System.Object) ]

Menedżer połączeń

[ T:Microsoft.SqlServer.Dts.Runtime.ConnectionManagerBase ]

[ T:Microsoft.SqlServer.Dts.Runtime.DtsConnectionAttribute ]

AcquireConnection, ReleaseConnection

Dostawca dziennika

[ T:Microsoft.SqlServer.Dts.Runtime.LogProviderBase ]

[ T:Microsoft.SqlServer.Dts.Runtime.DtsLogProviderAttribute ]

OpenLog, Log, CloseLog

Licznik

[ T:Microsoft.SqlServer.Dts.Runtime.ForEachEnumerator ]

[ T:Microsoft.SqlServer.Dts.Runtime.DtsForEachEnumeratorAttribute ]

[ M:Microsoft.SqlServer.Dts.Runtime.ForEachEnumerator.GetEnumerator(Microsoft.SqlServer.Dts.Runtime.Connections,Microsoft.SqlServer.Dts.Runtime.VariableDispenser,Microsoft.SqlServer.Dts.Runtime.IDTSInfoEvents,Microsoft.SqlServer.Dts.Runtime.IDTSLogging) ]

Składnik przepływu danych

[ T:Microsoft.SqlServer.Dts.Pipeline.PipelineComponent ]

[ T:Microsoft.SqlServer.Dts.Pipeline.DtsPipelineComponentAttribute ]

ProvideComponentProperties, PrimeOutput, ProcessInput

Dostarczanie niestandardowego interfejsu użytkownika

Aby umożliwić użytkownikom niestandardowego obiektu konfigurowanie jego właściwości, może być potrzebne również opracowanie niestandardowego interfejsu użytkownika.W przypadkach, gdy niestandardowy interfejs użytkownika nie jest wymagany, można utworzyć jeden, aby zapewnić użytkownikowi bardziej przyjazny interfejs niż domyślny edytor.

W projekcie niestandardowego interfejsu użytkownika lub zestawu na ogół są do dyspozycji dwie klasy — klasa, która implementuje interfejs Integration Services dla interfejsów użytkownika dla określonego typu niestandardowego obiektu i formularz systemu Windows, który jest wyświetlany w celu zbierania informacji od użytkownika.Interfejsy, które zostają zaimplementowane, mają tylko kilka metod, a niestandardowy interfejs użytkownika nie jest trudny w opracowaniu.

Ostrzeżenie

Wielu dostawców dzienników Integration Services ma niestandardowy interfejs użytkownika, który implementuje IDtsLogProviderUI i zastępuje pole tekstowe Konfiguracja filtrowaną listą rozwijaną dostępnych menedżerów połączenia.Jednakże niestandardowe interfejsy użytkownika dla niestandardowych dostawców dzienników nie są implementowane w tej wersji Integration Services.Określenie wartości dla właściwości UITypeNameDtsLogProviderAttribute ma działa.

Ta tabela zapewnia łatwe odniesienie do interfejsów, które należy zaimplementować podczas opracowywania niestandardowego interfejsu użytkownika dla każdego typu obiektu niestandardowego.Wyjaśnia to także, co użytkownik zobaczy, w przypadku rezygnacji z opracowania niestandardowego interfejsu użytkownika dla obiektu lub jeśli nie powiedzie się połączenie obiektu z jego interfejsem użytkownika za pomocą właściwości UITypeName w atrybucie obiektu.Chociaż silny zaawansowany edytor może być wystarczający dla składnika przepływu danych, okno Właściwości jest rozwiązaniem mniej przyjaznym dla użytkownika w przypadku zadań i menedżerów połączeń, a niestandardowy moduł wyliczający ForEach nie może być skonfigurowany bez niestandardowego formularza.

Obiekt niestandardowy

Klasa podstawowa dla interfejsu użytkownika

Domyślnie zachowanie edycji, jeśli brak niestandardowego interfejsu użytkownika

Zadanie

[ T:Microsoft.SqlServer.Dts.Runtime.Design.IDtsTaskUI ]

Tylko okno Właściwości

Menedżer połączeń

[ T:Microsoft.SqlServer.Dts.Runtime.Design.IDtsConnectionManagerUI ]

Tylko okno Właściwości

Dostawca dziennika

[ T:Microsoft.SqlServer.Dts.Runtime.Design.IDtsLogProviderUI ]

(Nie zaimplementowane w Integration Services)

Pole tekstowe w kolumnie Konfiguracja

Licznik

[ T:Microsoft.SqlServer.Dts.Runtime.ForEachEnumeratorUI ]

Tylko okno Właściwości.Obszar Moduł wyliczający edytora jest pusty.

Składnik przepływu danych

[ T:Microsoft.SqlServer.Dts.Pipeline.Design.IDtsComponentUI ]

Zaawansowany edytor

Ikona usług Integration Services (mała) Bądź na bieżąco z usługami Integration Services

Aby uzyskać najnowsze pliki do pobrania, artykuły, przykłady i filmy wideo z firmy Microsoft, a także wybrane rozwiązania od społeczności, odwiedź stronę Integration Services w witrynie MSDN lub TechNet:

Aby otrzymywać automatyczne powiadomienia dotyczące tych aktualizacji, zasubskrybuj źródła danych RSS dostępne na tej stronie.