Conectando a fontes de dados na tarefa Script
Gerenciadores de conexões fornecem acesso a fontes de dados que foram configuradas no pacote. Para obter mais informações, confira Conexões do SSIS (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çã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.
Importante
Você não pode chamar o método AcquireConnection de gerenciadores de conexões que retornam objetos não gerenciados, tais como o gerenciador de conexões OLE DB e o Excel, no código gerenciado de uma tarefa Script. No entanto, você pode 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 um OledbConnection
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. Nesse caso, o método AcquireConnection retorna um System.Data.OleDb.OleDbConnection
objeto 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.
Exemplo de conexões
O exemplo seguinte demonstra como acessar gerenciadores de conexões da tarefa Script. A amostra supõe que você criou e configurou um gerenciador de conexões ADO.NET chamado denominado Testar Conexão ADO.NET e um gerenciador de conexões de arquivo simples denominado Testar Conexão de Arquivo Simples. Observe que o gerenciador de conexões ADO.NET retorna um SqlConnection
objeto que você pode usar imediatamente para se conectar à fonte de dados. 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;
}
}
Mantenha-se atualizado com o Integration Services
Para obter os downloads, artigos, exemplos e vídeos mais recentes da Microsoft, bem como soluções selecionadas da comunidade, visite a página do Integration Services no MSDN:
Visite a página do Integration Services no MSDN
Para receber uma notificação automática dessas atualizações, assine os RSS feeds disponíveis na página.
Confira também
Conexões do SSIS (Integration Services)
Criar Gerenciadores de Conexões