프로그래밍 방식으로 연결 추가Adding Connections Programmatically

ConnectionManager 클래스는 외부 데이터 원본에 대한 실제 연결을 나타냅니다.The ConnectionManager class represents physical connections to external data sources. ConnectionManager 클래스는 연결의 구현 세부 사항을 런타임에서 격리합니다.The ConnectionManager class isolates the implementation details of the connection from the runtime. 이 클래스를 사용하면 런타임에서는 일관되고 예측 가능한 방식으로 각 연결 관리자와 상호 작용할 수 있습니다.This enables the runtime to interact with each connection manager in a consistent and predictable manner. 연결 관리자에는 Name, ID, DescriptionConnectionString과 같이 모든 연결에 공통된 스톡 속성 집합이 포함되어 있습니다.Connection managers contain a set of stock properties that all connections have in common, such as the Name, ID, Description, and ConnectionString. 그러나 연결 관리자를 구성하는 데는 일반적으로 ConnectionStringName 속성만 필요합니다.However, the ConnectionString and Name properties are ordinarily the only properties required to configure a connection manager. 다른 프로그래밍 패러다임과, 여기서 연결 클래스 메서드를 노출와 같은 달리 열려 또는 연결 실제 데이터 원본에 연결을 설정, 런타임 엔진에서 관리를 패키지에 대 한 모든 연결 실행 되는 동안 합니다.Unlike other programming paradigms, where connection classes expose methods such as Open or Connect to physically establish a connection to the data source, the run-time engine manages all the connections for the package while it runs.

Connections 클래스는 해당 패키지에 추가되었으며 런타임에 사용할 수 있는 연결 관리자의 컬렉션입니다.The Connections class is a collection of the connection managers that have been added to that package and are available for use at run time. 컬렉션의 Add 메서드를 사용하고 연결 관리자 유형을 나타내는 문자열을 지정하여 컬렉션에 연결 관리자를 추가할 수도 있습니다.You can add more connection managers to the collection by using the Add method of the collection, and supplying a string that indicates the connection manager type. Add 메서드는 패키지에 추가된 ConnectionManager 인스턴스를 반환합니다.The Add method returns the ConnectionManager instance that was added to the package.

기본 속성Intrinsic Properties

ConnectionManager 클래스는 모든 연결에 공통된 속성 집합을 제공합니다.The ConnectionManager class exposes a set of properties that are common to all connections. 그러나 특정 연결 유형에 고유한 속성에 액세스해야 하는 경우도 있습니다.However, sometimes you need access to properties that are unique to the specific connection type. Properties 클래스의 ConnectionManager 컬렉션을 사용하면 이러한 속성에 액세스할 수 있습니다.The Properties collection of the ConnectionManager class provides access to these properties. 인덱서 나 속성 이름을 사용 하 여 컬렉션에서 속성을 검색할 수 있습니다 및 GetValue 메서드와 값 사용 하 여 설정 되는 SetValue 메서드.The properties can be retrieved from the collection using the indexer or the property name and the GetValue method, and the values are set using the SetValue method. 기본 연결 개체의 속성은 개체의 실제 인스턴스를 가져오고 해당 속성을 직접 설정하는 방법으로 설정할 수 있습니다.The properties of the underlying connection object properties can also be set by acquiring an actual instance of the object and setting its properties directly. 기본 연결을 가져오려면 연결 관리자의 InnerObject 속성을 사용합니다.To get the underlying connection, use the InnerObject property of the connection manager. 다음 코드 줄에서는 기본 클래스 ConnectionManagerAdoNetClass가 있는 ADO.NET 연결 관리자를 만드는 C# 줄을 보여 줍니다.The following line of code shows a C# line that creates an ADO.NET connection manager that has the underlying class, ConnectionManagerAdoNetClass.

ConnectionManagerAdoNetClass cmado = cm.InnerObject as ConnectionManagerAdoNet;

이 코드 줄은 관리되는 연결 관리자 개체를 기본 연결 개체로 캐스팅합니다.This casts the managed connection manager object to its underlying connection object. C + +를 사용 하는 경우는 QueryInterface 의 메서드는 ConnectionManager 개체를 호출 하 고 기본 연결 개체의 인터페이스를 요청 합니다.If you are using C++, the QueryInterface method of the ConnectionManager object is called and the interface of the underlying connection object is requested.

다음 표에서는 Integration ServicesIntegration Services에 포함된 연결 관리자와The following table lists the connection managers included with Integration ServicesIntegration Services. package.Connections.Add("xxx") 문에 사용되는 문자열을 보여 줍니다.and the string that is used in the package.Connections.Add("xxx") statement. 모든 연결 관리자의 목록에 대 한 참조 Integration services( Ssis) 연결합니다.For a list of all connection managers, see Integration Services (SSIS) Connections.

문자열String ODBC 대상 편집기Connection manager
"OLEDB""OLEDB" OLE DB 연결용 연결 관리자Connection manager for OLE DB connections.
"ODBC""ODBC" ODBC 연결용 연결 관리자Connection manager for ODBC connections.
"ADO""ADO" ADO 연결용 연결 관리자Connection manager for ADO connections.
"ADO.NET:SQL""ADO.NET:SQL" ADO.NET(SQL 데이터 공급자) 연결용 연결 관리자Connection manager for ADO.NET (SQL data provider) connections.
"ADO.NET:OLEDB""ADO.NET:OLEDB" ADO.NET(OLE DB 데이터 공급자) 연결용 연결 관리자Connection manager for ADO.NET (OLE DB data provider) connections.
"FLATFILE""FLATFILE" 플랫 파일 연결용 연결 관리자Connection manager for flat file connections.
"FILE""FILE" 파일 연결용 연결 관리자Connection manager for file connections.
"MULTIFLATFILE""MULTIFLATFILE" 다중 플랫 파일 연결용 연결 관리자Connection manager for multiple flat file connections.
"MULTIFILE""MULTIFILE" 다중 파일 연결용 연결 관리자Connection manager for multiple file connections.
"SQLMOBILE""SQLMOBILE" 연결 관리자에 대 한 SQL ServerSQL Server Compact 연결용입니다.Connection manager for SQL ServerSQL Server Compact connections.
"MSOLAP100""MSOLAP100" Analysis ServicesAnalysis Services 연결용 연결 관리자Connection manager for Analysis ServicesAnalysis Services connections.
"FTP""FTP" FTP 연결용 연결 관리자Connection manager for FTP connections.
"HTTP""HTTP" HTTP 연결용 연결 관리자Connection manager for HTTP connections.
"MSMQ""MSMQ" 메시지 큐(MSMQ) 연결용 연결 관리자Connection manager for Message Queuing (also known as MSMQ) connections.
"SMTP""SMTP" SMTP 연결용 연결 관리자Connection manager for SMTP connections.
"WMI""WMI" Microsoft WMI(Windows Management Instrumentation) 연결용 연결 관리자Connection manager for Microsoft Windows Management Instrumentation (WMI) connections.

다음 코드 예에서는 ConnectionsPackage 컬렉션에 OLE DB 및 FILE 연결을 추가하는 방법을 보여 줍니다.The following code example demonstrates adding an OLE DB and FILE connection to the Connections collection of a Package. 그런 다음 ConnectionString, NameDescription 속성을 설정합니다.The example then sets the ConnectionString, Name, and Description properties.

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  

샘플 출력:Sample Output:

Connection description: OLE DB connection to the AdventureWorks database.

Connection description: OLE DB connection to the AdventureWorks database.

Number of connections in package: 2

외부 리소스External Resources

기술 문서- 연결 문자열, carlprothman.net의 합니다.Technical article, Connection Strings, on carlprothman.net.

관련 항목:See Also

Integration Services ( Ssis) 연결 Integration Services (SSIS) Connections
연결 관리자 만들기Create Connection Managers