다음을 통해 공유


스크립트 태스크에서 데이터 원본에 연결

연결 관리자는 패키지에 구성된 데이터 원본에 대한 액세스를 제공합니다. 자세한 내용은 Integration Services(SSIS) 연결을 참조하세요.

스크립트 태스크는 Dts 개체의 속성을 통해 Connections 이러한 연결 관리자에 액세스할 수 있습니다 . 컬렉션의 Connections 각 연결 관리자는 기본 데이터 원본에 연결하는 방법에 대한 정보를 저장합니다.

연결 관리자의 메서드를 호출 AcquireConnection 하면 연결 관리자가 아직 연결되지 않은 경우 데이터 원본에 연결하고 스크립트 작업 코드에서 사용할 적절한 연결 또는 연결 정보를 반환합니다.

참고 항목

AcquireConnection을 호출하려면 먼저 연결 관리자에서 반환하는 연결 유형을 알고 있어야 합니다. 스크립트 태스크를 사용하도록 설정했기 Option Strict 때문에 형식으로 반환되는 연결을 적절한 연결 형식으로 Object캐스팅해야 사용할 수 있습니다.

코드에서 연결을 사용하기 전에 Contains 속성에서 반환된 Connections 컬렉션의 Connections 메서드를 사용하여 기존 연결을 찾을 수 있습니다.

중요합니다

스크립트 태스크의 관리 코드에서 OLE DB 연결 관리자 및 Excel 연결 관리자와 같은 관리되지 않는 개체를 반환하는 연결 관리자의 AcquireConnection 메서드를 호출할 수 없습니다. 그러나 이러한 연결 관리자의 ConnectionString 속성을 읽고 System.Data.OleDb 네임스페이스의 연결 문자열 OledbConnection 사용하여 코드에서 직접 데이터 원본에 연결할 수 있습니다.

관리되지 않는 개체를 반환하는 연결 관리자의 AcquireConnection 메서드를 호출해야 하는 경우 ADO.NET 연결 관리자를 사용합니다. OLE DB 공급자를 사용하도록 ADO.NET 연결 관리자를 구성하면 .NET Framework Data Provider for OLE DB를 사용하여 연결됩니다. 이 경우 AcquireConnection 메서드 System.Data.OleDb.OleDbConnection 는 관리되지 않는 개체 대신 반환합니다. Excel 데이터 원본에서 사용할 ADO.NET 연결 관리자를 구성하려면 Microsoft OLE DB Provider for Jet를 선택하고, Excel 파일을 지정하고, 연결 관리자 대화 상자의 모든Excel 8.0확장 속성 값으로 (Excel 97 이상) 입력 합니다.

연결 예제

다음 예제에서는 스크립트 작업 내에서 연결 관리자에 액세스하는 방법을 보여 줍니다. 샘플에서는 Test ADO.NET Connection이라는 ADO.NET 연결 관리자와 Test Flat File Connection 이라는 플랫 파일 연결 관리자를 만들고 구성한 것으로 가정합니다. ADO.NET 연결 관리자는 데이터 원본에 SqlConnection 연결하는 데 즉시 사용할 수 있는 개체를 반환합니다. 반면 플랫 파일 연결 관리자는 경로와 파일 이름을 포함하는 문자열만 반환합니다. 플랫 파일을 열어 작업하려면 System.IO 네임스페이스의 메서드를 사용해야 합니다.

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;  
  
        }  
  
}  
  

Integration Services 아이콘(작음) Integration Services를 사용하여 최신 상태 유지
Microsoft의 최신 다운로드, 문서, 샘플 및 비디오와 커뮤니티에서 선택한 솔루션은 MSDN의 Integration Services 페이지를 방문하세요.

MSDN의 Integration Services 페이지 방문

이러한 업데이트에 대한 자동 알림을 보려면 페이지에서 사용할 수 있는 RSS 피드를 구독합니다.

참고 항목

Integration Services(SSIS) 연결
연결 관리자 만들기