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, consulte 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, 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 com o uso da cadeia de conexão com um 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 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 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;
}
}
|
Consulte também
Tarefas
Criar gerenciadores de conexões