스크립트 태스크에서 데이터 원본에 연결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.

스크립트 태스크에서는 Dts 개체의 Connections 속성을 통해 이러한 연결 관리자에 액세스합니다.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 속성을 읽고 System.Data.OleDb 네임스페이스에서 OLEDB OledbConnection의 연결 문자열을 사용하여 코드에서 직접 데이터 원본에 연결할 수 있습니다.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 이상의 경우)을 입력합니다.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. 이 예제에서는 Test ADO.NET Connection이라는 ADO.NETADO.NET 연결 관리자와 플랫 파일 연결 관리자라는 플랫 파일 연결 관리자를 만들고 구성했다고 가정합니다.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 =
            DirectCast(Dts.Connections("Test ADO.NET Connection").AcquireConnection(Dts.Transaction),
                SqlClient.SqlConnection)
        MsgBox(myADONETConnection.ConnectionString,
            MsgBoxStyle.Information, "ADO.NET Connection")

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

        Dts.TaskResult = ScriptResults.Success

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

            string myFlatFileConnection = 
                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