Conectando a fontes de dados na tarefa Script
Aplica-se a: SQL Server SSIS Integration Runtime no Azure Data Factory
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. Já que 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á-la.
É 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. Entretanto, você pode ler a propriedade ConnectionString desses gerenciadores de conexões e conectar-se à fonte de dados diretamente em seu código por meio da 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. Nesse 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.
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 objeto SqlConnection 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 =
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 Também
Conexões do SSIS (Integration Services)
Criar Gerenciadores de Conexões