Udostępnij za pośrednictwem


Podłączanie do źródła danych w niestandardowego zadania

Zadania łączenia się z zewnętrznych źródeł danych do pobierania lub zapisać danych za pomocą menedżer połączeń.W projekcie czas, Menedżer połączeń reprezentuje połączenie logiczne, a w tym artykule opisano najważniejsze informacje, takie jak nazwa serwera oraz wszelkie właściwości uwierzytelnianie.W czasie wykonywania zadań wywołanie AcquireConnection(Object) Metoda menedżer połączeń do ustanawiania fizycznego połączenia z danymi urządzenie źródłowe.

Ponieważ pakiet może zawierać wiele zadań, które mogą korzystać z połączeń z różnych źródeł danych, pakiet śledzi wszystkich menedżerów połączenia w zbiorze Connections Kolekcja. Zadania korzystania z kolekcja w pakiecie ich odnaleźć menedżer połączeń które zostaną wykorzystane podczas sprawdzania poprawności i wykonywanie.The Connections kolekcja is the first parameter to the Validate(Connections, VariableDispenser, IDTSComponentEvents, IDTSLogging) and Execute(Connections, VariableDispenser, IDTSComponentEvents, IDTSLogging, Object) methods.

Można zapobiec zadania przy użyciu Menedżera połączenia niewłaściwy wyświetlając ConnectionManager obiekty z kolekcja do użytkownika, używając okno dialogowe lub listy rozwijanej w graficzny interfejs użytkownika. Dzięki temu użytkownik, aby wybrać spośród tylko te ConnectionManager obiekty odpowiedniego typu, które są zawarte w pakiecie.

Zadania wywołanie AcquireConnection(Object) Metoda ustanawiania fizycznego połączenia ze źródłem danych. Metoda zwraca wartość podstawowej obiekt połączenia, które mogą być następnie używane przez zadanie.Ponieważ Menedżer połączeń będzie izolowała szczegóły dotyczące implementacji podstawowej obiektu połączenia z zadania, zadanie ma tylko do wywołania AcquireConnection(Object) Metoda nawiązać połączenie, a nie ma być związane z innymi aspektami połączenia.

Przykład

Poniższy przykład kodu demonstruje sprawdzania poprawności ConnectionManager Nadaj nazwę w polu Weryfikuj wykonać metod i pokazuje, jak użyć AcquireConnection(Object) Metoda do ustanowienia połączenia fizycznego w Metoda wykonać.

    private string connectionManagerName = "";

    public string ConnectionManagerName
    {
      get { return this.connectionManagerName; }
      set { this.connectionManagerName = value; }
    }

    public override DTSExecResult Validate(
      Connections connections, VariableDispenser variableDispenser,
      IDTSComponentEvents componentEvents, IDTSLogging log)
    {
      // If the connection manager exists, validation is successful;
      // otherwise, fail validation.
      try
      {
        ConnectionManager cm = connections[this.connectionManagerName];
        return DTSExecResult.Success;
      }
      catch (System.Exception e)
      {
        componentEvents.FireError(0, "SampleTask", "Invalid connection manager.", "", 0);
        return DTSExecResult.Failure;
      }
    }

    public override DTSExecResult Execute(Connections connections, 
      VariableDispenser variableDispenser, IDTSComponentEvents componentEvents, 
      IDTSLogging log, object transaction)
    {
      try
      {
        ConnectionManager cm = connections[this.connectionManagerName];
        object connection = cm.AcquireConnection(transaction);
        return DTSExecResult.Success;
      }
      catch (System.Exception exception)
      {
        componentEvents.FireError(0, "SampleTask", exception.Message, "", 0);
        return DTSExecResult.Failure;
      }
    }
  Private _connectionManagerName As String = ""

  Public Property ConnectionManagerName() As String
    Get
      Return Me._connectionManagerName
    End Get
    Set(ByVal Value As String)
      Me._connectionManagerName = value
    End Set
  End Property

  Public Overrides Function Validate( _
    ByVal connections As Microsoft.SqlServer.Dts.Runtime.Connections, _
    ByVal variableDispenser As Microsoft.SqlServer.Dts.Runtime.VariableDispenser, _
    ByVal componentEvents As Microsoft.SqlServer.Dts.Runtime.IDTSComponentEvents, _
    ByVal log As Microsoft.SqlServer.Dts.Runtime.IDTSLogging) _
    As Microsoft.SqlServer.Dts.Runtime.DTSExecResult

    ' If the connection manager exists, validation is successful;
    ' otherwise fail validation.
    Try
      Dim cm As ConnectionManager = connections(Me._connectionManagerName)
      Return DTSExecResult.Success
    Catch e As System.Exception
      componentEvents.FireError(0, "SampleTask", "Invalid connection manager.", "", 0)
      Return DTSExecResult.Failure
    End Try

  End Function

  Public Overrides Function Execute( _
    ByVal connections As Microsoft.SqlServer.Dts.Runtime.Connections, _
    ByVal variableDispenser As Microsoft.SqlServer.Dts.Runtime.VariableDispenser, _
    ByVal componentEvents As Microsoft.SqlServer.Dts.Runtime.IDTSComponentEvents, _
    ByVal log As Microsoft.SqlServer.Dts.Runtime.IDTSLogging, ByVal transaction As Object) _
    As Microsoft.SqlServer.Dts.Runtime.DTSExecResult

    Try
      Dim cm As ConnectionManager = connections(Me._connectionManagerName)
      Dim connection As Object = cm.AcquireConnection(transaction)
      Return DTSExecResult.Success
    Catch exception As System.Exception
      componentEvents.FireError(0, "SampleTask", exception.Message, "", 0)
      Return DTSExecResult.Failure
    End Try

  End Function
Integration Services icon (small) Konfiguracja w aktualizacji z usług integracja Services pobytu

Najnowsze pliki do pobrania, artykuły, próbki, i pliki wideo firmy Microsoft, jak również wybranego rozwiązania od Wspólnoty, odwiedź witrynę Integration Services strona w witrynie MSDN lub TechNet:

Automatycznego powiadomienie tych aktualizacji należy subskrybować źródła danych RSS, które jest dostępne strona.