스크립트 태스크에서 데이터 원본에 연결Connecting to Data Sources in the Script Task

연결 관리자를 사용하면 패키지에 구성된 데이터 원본에 액세스할 수 있습니다.Connection managers provide access to data sources that have been configured in the package. 자세한 내용은 Integration Services(SSIS) 연결을 참조하세요.For more information, see Integration Services (SSIS) Connections.

스크립트 태스크를 통해 이러한 연결 관리자에 액세스할 수는 Connections 의 속성은 Dts 개체입니다.The Script task can access these connection managers through the Connections property of the Dts object. Connections 컬렉션의 각 연결 관리자는 기본 데이터 원본에 연결하는 방법에 대한 정보를 저장합니다.Each connection manager in the Connections collection stores information about how to connect to the underlying data source.

연결 관리자의 AcquireConnection 메서드를 호출하면 해당 연결 관리자는 데이터 원본이 아직 연결되어 있지 않은 경우 데이터 원본에 연결하고 개발자가 스크립트 태스크 코드에서 사용할 수 있는 적절한 연결 및 연결 정보를 반환합니다.When you call the AcquireConnection method of a connection manager, the connection manager connects to the data source, if it is not already connected, and returns the appropriate connection or connection information for you to use in your Script task code.

참고

호출 하기 전에 연결 관리자에서 반환 된 연결 유형을 알고 있어야 AcquireConnection합니다.You must know the type of connection returned by the connection manager before calling 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.

코드에서 연결을 사용하기 전에 Contains 속성에서 반환된 Connections 컬렉션의 Connections 메서드를 사용하여 기존 연결을 찾을 수 있습니다.You can use the Contains method of the Connections collection returned by the Connections property to look for an existing connection before using the connection in your code.

중요

스크립트 태스크의 관리 되는 코드에서 OLE DB 연결 관리자 및 Excel 연결 관리자와 같은 관리 되지 않는 개체를 반환 하는 연결 관리자의 대 한 AcquireConnection 메서드를 호출할 수 없습니다.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, in the managed code of a Script task. 그러나 이러한 연결 관리자의 ConnectionString 속성을 읽을 수 있으며 연결 문자열을 사용 하 여 코드에서 직접 데이터 원본에 연결 된 OledbConnection 에서 System.Data.OleDb 네임 스페이스입니다.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 with an OledbConnection from the System.Data.OleDb namespace.

관리자는 관리 되지 않는 개체를 반환 하는 연결의 AcquireConnection 메서드를 호출 해야를 사용 하 여 프로그램 ADO.NETADO.NET 연결 관리자입니다.If you must call the AcquireConnection method of a connection manager that returns an unmanaged object, use an ADO.NETADO.NET connection manager. ADO.NETADO.NET 연결 관리자에서 OLE DB 공급자를 사용하도록 구성할 경우 이 연결 관리자는 .NET Framework.NET Framework Data Provider for OLE DB를 사용하여 연결합니다.When you configure the ADO.NETADO.NET connection manager to use an OLE DB provider, it connects by using the .NET Framework.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.NETADO.NET 는 선택 Excel 데이터 원본으로 사용 하기 위해 연결 관리자는 MicrosoftMicrosoft OLE DB Provider for Jet Excel 파일을 지정 하 고 입력 Excel 8.0 (Excel 97 이상)의 값으로 Extended Properties모든 의 페이지는 연결 관리자 대화 상자.To configure an ADO.NETADO.NET connection manager for use with an Excel data source, select the MicrosoftMicrosoft OLE DB Provider for Jet, specify an Excel file, and 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.

연결 예Connections Example

다음 예에서는 스크립트 태스크 내에서 연결 관리자에 액세스하는 방법을 보여 줍니다.The following example demonstrates how to access connection managers from within the Script task. 이 예에서는 생성 및 구성 해야는 ADO.NETADO.NET 이라는 연결 관리자 Test ADO.NET Connection 이라는 플랫 파일 연결 관리자 및 Test Flat File Connection합니다.The sample assumes that you have created and configured an ADO.NETADO.NET connection manager named Test ADO.NET Connection and a Flat File connection manager named Test Flat File Connection. ADO.NETADO.NET 반환 하는 연결 관리자는 SqlConnection 데이터 원본에 연결 하는 데 즉시 사용할 수 있는 개체입니다.Note that the ADO.NETADO.NET connection manager returns a SqlConnection object that you can use immediately to connect to the data source. 반면에 플랫 파일 연결 관리자는 경로와 파일 이름이 들어 있는 문자열만 반환합니다.The Flat File connection manager, on the other hand, returns only a string that contains the path and file name. 메서드를 사용 해야 합니다는 System.IO 네임 스페이스를 열고 플랫 파일로 작업 합니다.You must use methods from the System.IO namespace to open and work with the flat file.

Public Sub Main()  

    Dim myADONETConnection As SqlClient.SqlConnection  
    myADONETConnection = _  
        DirectCast(Dts.Connections("Test ADO.NET Connection").AcquireConnection(Dts.Transaction), _  
        SqlClient.SqlConnection)  
    MsgBox(myADONETConnection.ConnectionString, _  
        MsgBoxStyle.Information, "ADO.NET Connection")  

    Dim myFlatFileConnection As String  
    myFlatFileConnection = _  
        DirectCast(Dts.Connections("Test Flat File Connection").AcquireConnection(Dts.Transaction), _  
        String)  
    MsgBox(myFlatFileConnection, MsgBoxStyle.Information, "Flat File Connection")  

    Dts.TaskResult = ScriptResults.Success  

End Sub  
using System;  
using System.Data.SqlClient;  
using Microsoft.SqlServer.Dts.Runtime;  
using System.Windows.Forms;  

public class ScriptMain  
{  

        public void Main()  
        {  
            SqlConnection myADONETConnection = new SqlConnection();  
            myADONETConnection = (SqlConnection)(Dts.Connections["Test ADO.NET Connection"].AcquireConnection(Dts.Transaction)as SqlConnection);  
            MessageBox.Show(myADONETConnection.ConnectionString, "ADO.NET Connection");  

            string myFlatFileConnection;  
            myFlatFileConnection = (string)(Dts.Connections["Test Flat File Connection"].AcquireConnection(Dts.Transaction) as String);  
            MessageBox.Show(myFlatFileConnection, "Flat File Connection");  

            Dts.TaskResult = (int)ScriptResults.Success;  

        }  

}  

관련 항목:See Also

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