Přidávejte připojení programově

Platí pro:SQL Server SSIS Integration Runtime v rámci Azure Data Factory

Třída ConnectionManager představuje fyzická spojení s externími datovými zdroji. Třída ConnectionManager izoluje detaily implementace spojení od běhového času. To umožňuje běhu komunikovat s každým správcem spojení konzistentně a předvídatelně. Správci spojení obsahují základní vlastnosti, které mají všechna spojení společná, například , NameID, Description, a ConnectionString. Vlastnosti ConnectionString a jsou však obvykle jediné vlastnosti potřebné Name k konfiguraci správce spojení. Na rozdíl od jiných programovacích paradigmat, kde třídy spojení umožňují metody jako Open nebo Connect pro fyzické navázání spojení se zdrojem dat, run-time engine spravuje všechna spojení pro balíček během jeho běhu.

Tato Connections třída je sbírkou správců spojení, které byly do tohoto balíčku přidány a jsou dostupné k použití za běhu. Můžete přidat další správce spojení do kolekce pomocí Add metody kolekce a dodat řetězec, který označuje typ správce spojení. Metoda Add vrací instanci ConnectionManager , která byla do balíčku přidána.

Vnitřní vlastnosti

Třída ConnectionManager odhaluje sadu vlastností společných všem spojením. Někdy ale potřebujete přístup k vlastnostem jedinečným pro konkrétní typ připojení. Kolekce Properties třídy ConnectionManager poskytuje přístup k těmto nemovitostem. Vlastnosti lze získat z kolekce pomocí indexeru nebo názvu vlastnosti a metody GetValue , hodnoty se nastavují metodou SetValue . Vlastnosti vlastností základního spojovacího objektu lze také nastavit získáním skutečné instance objektu a nastavením jeho vlastností přímo. Pro získání základního spojení použijte InnerObject vlastnost správce spojení. Následující řádek kódu ukazuje C# řádek, ConnectionManagerAdoNetClasskterý vytváří ADO.NET správce spojení s podkladovou třídou .

ConnectionManagerAdoNetClass cmado = cm.InnerObject as ConnectionManagerAdoNet;

Tím se objekt spravovaného správce spojení přenáší na jeho základní objekt spojení. Pokud použijete C++, zavolá se metoda QueryInterface objektu ConnectionManager a je požádáno o rozhraní základního spojovacího objektu.

Následující tabulka uvádí správce spojení zahrnuté v integračních službách a řetězec použitý v příkazu package.Connections.Add("xxx") . Pro seznam všech správců spojení viz Integration Services (SSIS) Connections.

String Správce připojení
"OLEDB" Správce spojení pro spojení OLE DB.
"ODBC" Správce připojení pro ODBC připojení.
"ADO" Správce spojení pro ADO připojení.
"ADO.NET:SQL" Správce připojení pro ADO.NET (SQL data provider) připojení.
"ADO.NET:OLEDB" Správce spojení pro ADO.NET (poskytovatel dat OLE DB).
"FLATFILE" Správce připojení pro spojení s plochými soubory.
"SOUBOR" Správce připojení pro připojení souborů.
"MULTIFLATFILE" Správce připojení pro více plochých souborových spojení.
"MULTIFILE" Správce připojení pro více souborových spojení.
"SQLMOBILE" Správce připojení pro SQL Server Compact připojení.
"MSOLAP100" Správce spojení pro připojení Analysis Services.
"FTP" Správce připojení pro FTP připojení.
HTTP Správce připojení pro HTTP připojení.
"MSMQ" Správce spojení pro připojení Message Queuing (také známé jako MSMQ).
"SMTP" Správce připojení pro SMTP připojení.
"WMI" Správce spojení pro Microsoft Windows Management Instrumentation (WMI) připojení.

Následující příklad kódu ukazuje přidání spojení OLE DB a FILE do kolekce Connections .Package Příklad pak stanoví ConnectionStringvlastnosti, Name, a Description .

using System;
using Microsoft.SqlServer.Dts.Runtime;
  
namespace Microsoft.SqlServer.Dts.Samples
{
  class Program
  {
    static void Main(string[] args)
    {
      // Create a package, and retrieve its connections.
      Package pkg = new Package();
      Connections pkgConns = pkg.Connections;
  
      // Add an OLE DB connection to the package, using the
      // method defined in the AddConnection class.
      CreateConnection myOLEDBConn = new CreateConnection();
      myOLEDBConn.CreateOLEDBConnection(pkg);
  
      // View the new connection in the package.
      Console.WriteLine("Connection description: {0}",
         pkg.Connections["SSIS Connection Manager for OLE DB"].Description);
  
      // Add a second connection to the package.
      CreateConnection myFileConn = new CreateConnection();
      myFileConn.CreateFileConnection(pkg);
  
      // View the second connection in the package.
      Console.WriteLine("Connection description: {0}",
        pkg.Connections["SSIS Connection Manager for Files"].Description);
  
      Console.WriteLine();
      Console.WriteLine("Number of connections in package: {0}", pkg.Connections.Count);
  
      Console.Read();
    }
  }
  // <summary>
  // This class contains the definitions for multiple
  // connection managers.
  // </summary>
  public class CreateConnection
  {
    // Private data.
    private ConnectionManager ConMgr;
  
    // Class definition for OLE DB Provider.
    public void CreateOLEDBConnection(Package p)
    {
      ConMgr = p.Connections.Add("OLEDB");
      ConMgr.ConnectionString = "Provider=SQLOLEDB.1;" +
        "Integrated Security=SSPI;Initial Catalog=AdventureWorks;" +
        "Data Source=(local);";
      ConMgr.Name = "SSIS Connection Manager for OLE DB";
      ConMgr.Description = "OLE DB connection to the AdventureWorks database.";
    }
    public void CreateFileConnection(Package p)
    {
      ConMgr = p.Connections.Add("File");
      ConMgr.ConnectionString = @"\\<yourserver>\<yourfolder>\books.xml";
      ConMgr.Name = "SSIS Connection Manager for Files";
      ConMgr.Description = "Flat File connection";
    }
  }
  
}
Imports Microsoft.SqlServer.Dts.Runtime
  
Module Module1
  
  Sub Main()
  
    ' Create a package, and retrieve its connections.
    Dim pkg As New Package()
    Dim pkgConns As Connections = pkg.Connections
  
    ' Add an OLE DB connection to the package, using the
    ' method defined in the AddConnection class.
    Dim myOLEDBConn As New CreateConnection()
    myOLEDBConn.CreateOLEDBConnection(pkg)
  
    ' View the new connection in the package.
    Console.WriteLine("Connection description: {0}", _
      pkg.Connections("SSIS Connection Manager for OLE DB").Description)
  
    ' Add a second connection to the package.
    Dim myFileConn As New CreateConnection()
    myFileConn.CreateFileConnection(pkg)
  
    ' View the second connection in the package.
    Console.WriteLine("Connection description: {0}", _
      pkg.Connections("SSIS Connection Manager for Files").Description)
  
    Console.WriteLine()
    Console.WriteLine("Number of connections in package: {0}", pkg.Connections.Count)
  
    Console.Read()
  
  End Sub
  
End Module
  
' This class contains the definitions for multiple
' connection managers.
  
Public Class CreateConnection
  ' Private data.
  Private ConMgr As ConnectionManager
  
  ' Class definition for OLE DB provider.
  Public Sub CreateOLEDBConnection(ByVal p As Package)
    ConMgr = p.Connections.Add("OLEDB")
    ConMgr.ConnectionString = "Provider=SQLOLEDB.1;" & _
      "Integrated Security=SSPI;Initial Catalog=AdventureWorks;" & _
      "Data Source=(local);"
    ConMgr.Name = "SSIS Connection Manager for OLE DB"
    ConMgr.Description = "OLE DB connection to the AdventureWorks database."
  End Sub
  
  Public Sub CreateFileConnection(ByVal p As Package)
    ConMgr = p.Connections.Add("File")
    ConMgr.ConnectionString = "\\<yourserver>\<yourfolder>\books.xml"
    ConMgr.Name = "SSIS Connection Manager for Files"
    ConMgr.Description = "Flat File connection"
  End Sub
  
End Class

Ukázkový výstup:

Connection description: OLE DB connection to the AdventureWorks database.

Connection description: Flat File connection.

Number of connections in package: 2