Conectarse a orígenes de datos de la tarea Script
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 devuelto por 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 al origen de datos directamente en el código mediante la cadena de conexión con un OledbConnection
elemento 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 un 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. Tenga en cuenta que el administrador de conexiones ADO.NET devuelve un SqlConnection
objeto que puede usar 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 éste.
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;
}
}
Mantenerse al día con Integration Services
Para obtener las descargas, artículos, ejemplos y vídeos más recientes de Microsoft, así como soluciones seleccionadas de la comunidad, visite la página Integration Services en MSDN:
Visite la página de Integration Services en MSDN
Para recibir notificaciones automáticas de estas actualizaciones, suscríbase a las fuentes RSS disponibles en la página.
Consulte también
Conexiones de Integration Services (SSIS)
Crear administradores de conexiones