Share via


Conectando a fontes de dados na tarefa Script

Gerenciadores de conexões fornecem acesso a origens de dados que foram configuradas no pacote. Para obter mais informações, consulte Conexões do Integration Services.

A tarefa Script pode acessar esses gerenciadores de conexões pela propriedade Connections do objeto Dts . Cada gerenciador de conexões na coleção Connections armazena informações sobre como conectar-se à fonte de dados subjacente.

Quando você chama o método AcquireConnection de um gerenciador de conexões, este se conecta à fonte de dados, se já não estiver conectado, e retorna a conexão apropriada ou as informações da conexão para você utilizar no código da tarefa Script.

ObservaçãoObservação

Você deve saber o tipo de conexão retornado pelo gerenciador de conexões antes de chamar AcquireConnection. Como a tarefa Script tem Option Strict habilitada, você deve converter a conexão, que é retornada como tipo Object, para o tipo de conexão adequado antes de poder usá-lo.

É possível usar o método Contains da coleção Connections retornada pela propriedade Connections para procurar uma conexão existente antes de usá-la no seu código.

Observação importanteImportante

Você não pode chamar o método AcquireConnection de gerenciadores de conexões que retornam objetos não gerenciados, como o gerenciador de conexões OLE DB e o Excel, no código gerenciado de uma tarefa Script. Entretanto, é possível ler a propriedade ConnectionString desses gerenciadores de conexões, e conectar-se à fonte de dados diretamente em seu código usando a cadeia de conexão com uma OledbConnection do namespace System.Data.OleDb.

Se você deve chamar o método AcquireConnection de um gerenciador de conexões que retorna um objeto não gerenciado, use um gerenciador de conexões ADO.NET. Quando você configura o gerenciador de conexões ADO.NET para usar um provedor OLE DB, ele se conecta usando o Provedor de Dados .NET Framework para OLE DB. Neste caso, o método AcquireConnection retorna um System.Data.OleDb.OleDbConnection em vez de um objeto não gerenciado. Para configurar um gerenciador de conexões ADO.NET para usar com uma fonte de dados Excel, selecione o OLE DB Provider for Microsoft Jet, especifique um arquivo em Excel e insira Excel 8.0 (para Excel 97 e mais recente) como valor de Propriedades Estendidas na página Todas da caixa de diálogo Gerenciador de Conexões.

Exemplos de conexão

O exemplo seguinte demonstra como acessar gerenciadores de conexões da tarefa Script. O exemplo assume que você criou e configurou um gerenciador de conexões ADO.NET chamado Testar Conexão ADO.NET e um gerenciador de conexões de arquivo simples chamado Testar Conexão de Arquivo Simples. Observe que o gerenciador de conexões ADO.NET retorna um objeto SqlConnection que você pode usar para se conectar à fonte de dados imediatamente. Por outro lado, o gerenciador de conexões de arquivo simples retorna só uma cadeia de caracteres que contém o caminho e o nome do arquivo. Você deve usar métodos do namespace System.IO para abrir e funcionar com o arquivo simples.

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;

        }

} 
Ícone do Integration Services (pequeno) Fique atualizado com o Integration Services

Para obter os mais recentes downloads, artigos, exemplos e vídeos da Microsoft, bem como soluções selecionadas da comunidade, visite a página do Integration Services no MSDN ou TechNet:

Para receber uma notificação automática das atualizações, assine os feeds RSS disponíveis na página.