Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a: SQL Server
SSIS Integration Runtime em Azure Data Factory
Os gestores de ligação fornecem acesso às fontes de dados configuradas no pacote. Para obter mais informações, consulte Ligações do Integration Services (SSIS).
A tarefa Script pode aceder a estes gestores de ligação através da Connections propriedade do objeto DTS . Cada gestor de ligação na Connections coleção armazena informações sobre como se ligar à fonte de dados subjacente.
Quando chama o AcquireConnection método de um gestor de ligações, este liga-se à fonte de dados, caso ainda não esteja ligada, e devolve a informação de ligação ou ligação apropriada para usar no seu código de tarefa Script.
Note
Deve saber o tipo de ligação devolvida pelo gestor de ligações antes de ligar para a AcquireConnection. Como a tarefa Script tem o Option Strict ativado, tens de lançar a ligação, que é devolvida como Type Object, para o tipo de ligação apropriado antes de a poderes usar.
Pode usar o Contains método da Connections coleção devolvida pela Connections propriedade para procurar uma ligação existente antes de usar a ligação no seu código.
Importante
Não pode chamar o método AcquireConnection dos gestores de conexões que retornam objetos não geridos, como o gestor de conexões OLE DB e o gestor de conexões Excel, no código gerido de uma tarefa Script. No entanto, pode ler a propriedade ConnectionString destes gestores de ligação e ligar-se diretamente à fonte de dados no seu código usando a cadeia de ligação com um OledbConnection do namespace System.Data.OleDb.
Se tiver de chamar o método AcquireConnection de um gestor de ligações que devolve um objeto não gerido, use um gestor de conexões ADO.NET. Quando configura o gestor de conexões ADO.NET para usar um fornecedor OLE DB, ele liga-se usando o .NET Framework Data Provider para OLE DB. Neste caso, o método AcquireConnection devolve um System.Data.OleDb.OleDbConnection em vez de um objeto não gerido. Para configurar um ADO.NET connection manager para uso com uma fonte de dados Excel, selecione o Microsoft OLE DB Provider for Jet, especifique um ficheiro Excel e insira Excel 8.0 (para Excel 97 e posteriores) como o valor de Propriedades Estendidas na página Todos da Caixa de diálogo Gestor de Ligações.
Exemplo de Ligações
O exemplo seguinte demonstra como aceder aos gestores de ligação a partir da tarefa Script. O exemplo assume que criou e configurou um gestor de conexões ADO.NET chamado Test ADO.NET Connection e um gestor de conexões Flat File chamado Test Flat File Connection. Note que o gestor de conexões ADO.NET devolve um objeto SqlConnection que pode usar imediatamente para se ligar à fonte de dados. O gestor de ligação Flat File, por outro lado, devolve apenas uma string que contém o caminho e o nome do ficheiro. Deve usar métodos do espaço de nomes System.IO para abrir e trabalhar com o ficheiro plano.
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;
}