프로그래밍 방식으로 연결 추가
적용 대상: Azure Data Factory의 SQL Server SSIS Integration Runtime
클래스는 ConnectionManager 외부 데이터 원본에 대한 물리적 연결을 나타냅니다. ConnectionManager 클래스는 연결의 구현 세부 사항을 런타임에서 격리합니다. 이렇게 하면 런타임이 각 연결 관리자와 일관되고 예측 가능하게 상호 작용할 수 있습니다. 연결 관리자에는 모든 연결의 공통점인 주식 속성(예: Name, ID, Description및 ConnectionString)이 포함됩니다. 그러나 일반적으로 연결 관리자를 ConnectionString 구성하는 데 필요한 유일한 속성은 및 Name 속성입니다. 연결 클래스가 데이터 원본에 물리적으로 연결을 설정하기 위해 Open 또는 Connect와 같은 메서드를 노출하는 다른 프로그래밍 패러다임과 달리 런타임 엔진은 실행되는 동안 패키지에 대한 모든 연결을 관리합니다.
클래스는 Connections 해당 패키지에 추가되었으며 런타임에 사용할 수 있는 연결 관리자의 컬렉션입니다. 컬렉션의 메서드를 사용하여 컬렉션에 연결 관리자를 Add 추가하고 연결 관리자 유형을 나타내는 문자열을 제공할 수 있습니다. 메서드는 Add 패키지에 ConnectionManager 추가된 인스턴스를 반환합니다.
기본 속성
클래스는 ConnectionManager 모든 연결에 공통된 속성 집합을 노출합니다. 그러나 특정 연결 형식에 고유한 속성에 액세스해야 하는 경우도 있습니다. 클래스의 ConnectionManager 컬렉션은 Properties 이러한 속성에 대한 액세스를 제공합니다. 인덱서 또는 속성 이름 및 GetValue 메서드를 사용하여 컬렉션에서 속성을 검색할 수 있으며 값은 SetValue 메서드를 사용하여 설정됩니다. 기본 연결 개체 속성의 속성은 개체의 실제 인스턴스를 가져오고 해당 속성을 직접 설정하여 설정할 수도 있습니다. 기본 연결을 얻으려면 연결 관리자의 속성을 사용합니다 InnerObject . 다음 코드 줄에는 기본 클래스 ConnectionManagerAdoNetClass를 사용하여 ADO.NET 연결 관리자를 만드는 C# 줄이 표시됩니다.
ConnectionManagerAdoNetClass cmado = cm.InnerObject as ConnectionManagerAdoNet;
그러면 관리되는 연결 관리자 개체가 기본 연결 개체로 캐스팅됩니다. C++를 사용하는 경우 개체의 ConnectionManager QueryInterface 메서드가 호출되고 기본 연결 개체의 인터페이스가 요청됩니다.
다음 표에서는 Integration Services에 포함된 연결 관리자와 문에 사용되는 문자열을 package.Connections.Add("xxx")
나열합니다. 모든 연결 관리자의 목록은 Integration Services(SSIS) 연결을 참조하세요.
문자열 | 연결 관리자 |
---|---|
"OLEDB" | OLE DB 연결에 대한 연결 관리자입니다. |
"ODBC" | ODBC 연결에 대한 연결 관리자입니다. |
"ADO" | ADO 연결용 연결 관리자 |
"ADO.NET:SQL" | ADO.NET(SQL 데이터 공급자) 연결에 대한 연결 관리자입니다. |
"ADO.NET:OLEDB" | ADO.NET(OLE DB 데이터 공급자) 연결에 대한 연결 관리자입니다. |
"FLATFILE" | 플랫 파일 연결을 위한 연결 관리자입니다. |
"FILE" | 파일 연결에 대한 연결 관리자입니다. |
"MULTIFLATFILE" | 여러 플랫 파일 연결에 대한 연결 관리자입니다. |
"MULTIFILE" | 다중 파일 연결용 연결 관리자 |
"SQLMOBILE" | SQL Server Compact 연결용 연결 관리자 |
"MSOLAP100" | Analysis Services 연결용 연결 관리자 |
"FTP" | FTP 연결에 대한 연결 관리자입니다. |
"HTTP" | HTTP 연결에 대한 연결 관리자입니다. |
"MSMQ" | 메시지 큐(MSMQ라고도 함) 연결에 대한 연결 관리자입니다. |
"SMTP" | SMTP 연결에 대한 연결 관리자입니다. |
"WMI" | Microsoft WMI(Windows Management Instrumentation) 연결에 대한 연결 관리자입니다. |
다음 코드 예제에서는 OLE DB 및 FILE 연결을 컬렉션에 Connections 추가하는 방법을 보여 줍니다 Package. 그런 다음 ConnectionString, Name 및 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
샘플 출력:
Connection description: OLE DB connection to the AdventureWorks database.
Connection description: Flat File connection.
Number of connections in package: 2