스크립트 구성 요소에서 데이터 원본에 연결Connecting to Data Sources in the Script Component

연결 관리자는 특정 유형의 데이터 원본에 연결하는 데 필요한 정보를 캡슐화하고 저장하는 편리한 단위입니다.A connection manager is a convenient unit that encapsulates and stores the information that is required to connect to a data source of a particular type. 자세한 내용은 Integration Services(SSIS) 연결을 참조하세요.For more information, see Integration Services (SSIS) Connections.

스크립트 변환 편집기연결 관리자 페이지에서 추가제거 단추를 클릭하여 원본 또는 대상 구성 요소의 사용자 지정 스크립트에서 기존 연결 관리자에 액세스할 수 있게 할 수 있습니다.You can make existing connection managers available for access by the custom script in the source or destination component by clicking the Add and Remove buttons on the Connection Managers page of the Script Transformation Editor. 그러나 데이터를 로드하거나 저장하고 데이터 원본에 대한 연결을 열고 닫는 사용자 지정 코드는 개발자가 직접 작성해야 합니다.However, you must write your own custom code to load or save your data, and possibly to open and close the connection to the data source. 스크립트 변환 편집기연결 관리자 페이지에 대한 자세한 내용은 스크립트 구성 요소 편집기에서 스크립트 구성 요소 구성스크립트 변환 편집기(연결 관리자 페이지)를 참조하세요.For more information about the Connection Managers page of the Script Transformation Editor, see Configuring the Script Component in the Script Component Editor and Script Transformation Editor (Connection Managers Page).

스크립트 구성 요소는 각 연결 관리자에 대해 해당 연결 관리자와 동일한 이름을 갖는 강력한 형식의 접근자가 있는 Connections 컬렉션 클래스를 ComponentWrapper 프로젝트 항목에 만듭니다.The Script component creates a Connections collection class in the ComponentWrapper project item that contains a strongly-typed accessor for each connection manager that has the same name as the connection manager itself. 이 컬렉션은 ScriptMain 클래스의 Connections 속성을 통해 제공됩니다.This collection is exposed through the Connections property of the ScriptMain class. 접근자 속성은 해당 연결 관리자에 대한 참조를 IDTSConnectionManager100의 인스턴스로 반환합니다.The accessor property returns a reference to the connection manager as an instance of IDTSConnectionManager100. 예를 들어 대화 상자의 연결 관리자 페이지에서 MyADONETConnection이라는 연결 관리자를 추가한 경우 스크립트에서 다음 코드를 추가하여 해당 연결 관리자에 대한 참조를 가져올 수 있습니다.For example, if you have added a connection manager named MyADONETConnection on the Connection Managers page of the dialog box, you can obtain a reference to it in your script by adding the following code:

Dim myADONETConnectionManager As IDTSConnectionManager100 = _

Me.Connections.MyADONETConnection

참고

AcquireConnection을 호출하려면 먼저 연결 관리자에서 반환하는 연결 유형을 알고 있어야 합니다.You must know the type of connection that is returned by the connection manager before you call AcquireConnection. 스크립트 태스크에는 Option Strict가 설정되어 있으므로 개체 형식으로 반환된 연결을 사용하려면 먼저 이 연결을 적절한 연결 형식으로 캐스팅해야 합니다.Because the Script task has Option Strict enabled, you must cast the connection, which is returned as type Object, to the appropriate connection type before you can use it.

그런 다음 특정 연결 관리자의 AcquireConnection 메서드를 호출하여 기본 연결이나 데이터 원본에 연결하는 데 필요한 정보를 가져옵니다.Next, you call the AcquireConnection method of the specific connection manager to obtain either the underlying connection or the information that is required to connect to the data source. 예를 들어 다음 코드를 사용하여 ADO.NET 연결 관리자에 의해 래핑된 System.Data.SqlConnection에 대한 참조를 가져올 수 있습니다.For example, you obtain a reference to the System.Data.SqlConnection wrapped by an ADO.NET connection manager by using the following code:

Dim myADOConnection As SqlConnection = _

CType(MyADONETConnectionManager.AcquireConnection(Nothing), SqlConnection)

반면 플랫 파일 연결 관리자에 대해 동일한 메서드를 호출할 경우에는 파일 데이터 원본의 경로와 파일 이름만 반환됩니다.In contrast, the same call to a flat file connection manager returns only the path and file name of the file data source.

Dim myFlatFile As String = _

CType(MyFlatFileConnectionManager.AcquireConnection(Nothing), String)

플랫 파일의 데이터를 읽거나 쓰려면 System.IO.StreamReader 또는 Streamwriter에 이 경로와 파일 이름을 제공해야 합니다.You then must provide this path and file name to a System.IO.StreamReader or Streamwriter to read or write the data in the flat file.

중요

스크립트 구성 요소에서 관리 코드를 작성하는 경우 OLE DB 연결 관리자 및 Excel 연결 관리자와 같이 관리되지 않는 개체를 반환하는 연결 관리자의 AcquireConnection 메서드는 호출할 수 없습니다.When you write managed code in a Script component, you cannot call the AcquireConnection method of connection managers that return unmanaged objects, such as the OLE DB connection manager and the Excel connection manager. 그러나 이러한 연결 관리자의 ConnectionString 속성을 읽고 System.Data.OleDb 네임스페이스에서 OLEDB connection의 연결 문자열을 사용하여 코드에서 직접 데이터 원본에 연결할 수 있습니다.However, you can read the ConnectionString property of these connection managers, and connect to the data source directly in your code by using the connection string of an OLEDB connection from the System.Data.OleDb namespace.

관리되지 않는 개체를 반환하는 연결 관리자의 AcquireConnection 메서드를 호출해야 하는 경우에는 ADO.NET 연결 관리자를 사용합니다.If you need to call the AcquireConnection method of a connection manager that returns an unmanaged object, use an ADO.NET connection manager. ADO.NET 연결 관리자에서 OLE DB 공급자를 사용하도록 구성할 경우 이 연결 관리자는 .NET Framework Data Provider for OLE DB를 사용하여 연결합니다.When you configure the ADO.NET connection manager to use an OLE DB provider, it connects by using the .NET Framework Data Provider for OLE DB. 이 경우 AcquireConnection 메서드는 관리되지 않는 개체 대신 System.Data.OleDb.OleDbConnection을 반환합니다.In this case, the AcquireConnection method returns a System.Data.OleDb.OleDbConnection instead of an unmanaged object. ADO.NET 연결 관리자를 Excel 데이터 원본에 사용할 수 있도록 구성하려면 연결 관리자 대화 상자의 모두 페이지에서 Microsoft OLE DB Provider for Jet를 선택하고 Excel 통합 문서를 지정한 다음 확장 속성 값으로 Excel 8.0(Excel 97 이상의 경우)을 입력합니다.To configure an ADO.NET connection manager for use with an Excel data source, select the Microsoft OLE DB Provider for Jet, specify an Excel workbook, and then enter Excel 8.0 (for Excel 97 and later) as the value of Extended Properties on the All page of the Connection Manager dialog box.

스크립트 구성 요소에 연결 관리자를 사용하는 방법에 대한 자세한 내용은 스크립트 구성 요소를 사용하여 원본 만들기스크립트 구성 요소를 사용하여 대상 만들기를 참조하세요.For more information about how to use connection managers with the script component, see Creating a Source with the Script Component and Creating a Destination with the Script Component.

참고 항목See Also

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