Conectarse a orígenes de datos de la tarea Script

Se aplica a:SQL Server SSIS Integration Runtime en Azure Data Factory

Los administradores de conexiones proporcionan acceso a los orígenes de datos configurados en el paquete. Para más información, vea Conexiones de Integration Services (SSIS).

La tarea Script tiene acceso a estos administradores de conexiones a través de la propiedad Connections del objetoDts. Todos los administradores de conexión de la colección Connections almacenan información sobre cómo conectarse al origen de datos subyacente.

Cuando llama al método AcquireConnection de un administrador de conexiones, el administrador de conexiones se conecta al origen de datos, si aún no está conectado, y devuelve la información de conexión o la conexión adecuada para que la utilice en el código de la tarea Script.

Nota

Debe conocer el tipo de conexión que devuelve el administrador de conexiones antes de llamar a AcquireConnection. Dado que la tarea Script tiene habilitado Option Strict, debe convertir la conexión, que se devuelve como tipo Object, al tipo de conexión adecuado antes de poder utilizarlo.

Puede utilizar el método Contains de la colección Connections devuelto por la propiedad Connections para buscar una conexión existente antes de utilizar la conexión en el código.

Importante

No puede llamar al método AcquireConnection de los administradores de conexiones que devuelvan objetos no administrados, como el administrador de conexiones OLE DB y el administrador de conexiones Excel, en el código administrado de una tarea Script. Sin embargo, puede leer la propiedad ConnectionString de estos administradores de conexiones y conectarse directamente al origen de datos en el código utilizando la cadena de conexión con OledbConnection del espacio de nombres System.Data.OleDb.

Si debe llamar al método AcquireConnection de un administrador de conexiones que devuelve un objeto no administrado, utilice un administrador de conexiones ADO.NET. Al configurar el administrador de conexiones ADO.NET para utilizar un proveedor OLE DB, se conecta mediante el proveedor de datos de .NET Framework para OLE DB. En este caso, el método AcquireConnection devuelve System.Data.OleDb.OleDbConnection, en lugar de un objeto no administrado. Para configurar un administrador de conexiones ADO.NET para su uso con un origen de datos Excel, seleccione el proveedor OLE DB de Microsoft para Jet, especifique un archivo de Excel y, a continuación, escriba Excel 8.0 (para Excel 97 y posterior) como el valor de Propiedades extendidas en la página Todas del cuadro de diálogo Administrador de conexiones.

Ejemplo de conexiones

En el ejemplo siguiente se muestra cómo obtener acceso a los administradores de conexión desde dentro de la tarea Script. En el ejemplo se supone que ha creado y configurado un administrador de conexiones ADO.NET denominado Test ADO.NET Connection y un administrador de conexiones de archivos planos denominado Test Flat File Connection. Observe que el administrador de conexiones ADO.NET devuelve un objeto SqlConnection que puede utilizar inmediatamente para conectarse al origen de datos. El administrador de conexiones de archivos planos, por otro lado, devuelve solamente una cadena que contiene la ruta de acceso y el nombre de archivo. Debe utilizar los métodos del espacio de nombres System.IO para abrir el archivo plano y trabajar con este.

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

Consulte también

Conexiones de Integration Services (SSIS)
Crear administradores de conexiones