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
A ConnectionManager classe representa ligações físicas a fontes de dados externas. A ConnectionManager classe isola os detalhes de implementação da ligação do tempo de execução. Isto permite que o tempo de execução interaja com cada gestor de ligação de forma consistente e previsível. Os gestores de conexões contêm propriedades de stock que todas as ligações têm em comum, como o Name, ID, Description, e ConnectionString. No entanto, as ConnectionString propriedades e Name são normalmente as únicas necessárias para configurar um gestor de ligações. Ao contrário de outros paradigmas de programação, onde as classes de ligação expõem métodos como Open ou Connect para estabelecer fisicamente uma ligação à fonte de dados, o motor de execução gere todas as ligações do pacote enquanto este está em execução.
A Connections classe é uma coleção dos gestores de ligação que foram adicionados a esse pacote e estão disponíveis para uso em tempo de execução. Pode adicionar mais gestores de ligação à coleção usando o Add método da coleção e fornecendo uma cadeia que indique o tipo de gestor de conexões. O Add método devolve a ConnectionManager instância que foi adicionada ao pacote.
Propriedades intrínsecas
A ConnectionManager classe expõe um conjunto de propriedades comuns a todas as ligações. No entanto, por vezes precisa de acesso a propriedades únicas para o tipo específico de ligação. A Properties coleção da ConnectionManager classe proporciona acesso a estas propriedades. As propriedades podem ser recuperadas da coleção usando o indexador ou o nome da propriedade e o método GetValue , e os valores são definidos usando o método SetValue . As propriedades do objeto de ligação subjacente também podem ser definidas adquirindo uma instância real do objeto e definindo diretamente as suas propriedades. Para obter a ligação subjacente, use a InnerObject propriedade do gestor de conexões. A linha de código seguinte mostra uma linha C# que cria um gestor de ligação ADO.NET com a classe subjacente. ConnectionManagerAdoNetClass
ConnectionManagerAdoNetClass cmado = cm.InnerObject as ConnectionManagerAdoNet;
Isto projeta o objeto gestor de ligação gerida para o seu objeto de ligação subjacente. Se usar C++, o método QueryInterface do ConnectionManager objeto é chamado e a interface do objeto de ligação subjacente é solicitada.
A tabela seguinte lista os gestores de ligação incluídos com os Serviços de Integração e a cadeia de caracteres utilizada na package.Connections.Add("xxx") instrução. Para uma lista de todos os gestores de ligações, veja Ligações de Serviços de Integração (SSIS).
| String | Gestor de ligações |
|---|---|
| "OLEDB" | Gestor de conexões para ligações OLE DB. |
| "ODBC" | Gestor de ligações para ligações ODBC. |
| "ADO" | Gestor de ligações para ligações ADO. |
| "ADO.NET:SQL" | Gestor de conexões para ligações ADO.NET (fornecedor de dados SQL). |
| "ADO.NET:OLEDB" | Gestor de ligações para ligações ADO.NET (fornecedor de dados OLE DB). |
| "FLATFILE" | Gestor de ligações para ligações de ficheiros planos. |
| "FICHEIRO" | Gestor de ligações para ligações de ficheiros. |
| "MULTIFLATFILE" | Gestor de ligações para múltiplas ligações de ficheiros planos. |
| "MULTIFILE" | Gestor de ligações para múltiplas ligações de ficheiros. |
| "SQLMOBILE" | Gestor de conexões para ligações SQL Server Compact. |
| "MSOLAP100" | Gestor de ligações para ligações de Serviços de Análise. |
| "FTP" | Gestor de ligações para ligações FTP. |
| HTTP | Gestor de ligações para ligações HTTP. |
| "MSMQ" | Gestor de Ligações para Mensagens em Fila (também conhecida como MSMQ). |
| "SMTP" | Gestor de ligações para ligações SMTP. |
| "WMI" | Gestor de ligações para ligações Microsoft Windows Instrumentação de Gestão (WMI). |
O exemplo de código seguinte demonstra a adição de uma ligação OLE DB e FILE à Connections coleção de um Packagearquivo . O exemplo então define as ConnectionStringpropriedades , Name, e Description .
using System;
using Microsoft.SqlServer.Dts.Runtime;
namespace Microsoft.SqlServer.Dts.Samples
{
class Program
{
static void Main(string[] args)
{
// Create a package, and retrieve its connections.
Package pkg = new Package();
Connections pkgConns = pkg.Connections;
// Add an OLE DB connection to the package, using the
// method defined in the AddConnection class.
CreateConnection myOLEDBConn = new CreateConnection();
myOLEDBConn.CreateOLEDBConnection(pkg);
// View the new connection in the package.
Console.WriteLine("Connection description: {0}",
pkg.Connections["SSIS Connection Manager for OLE DB"].Description);
// Add a second connection to the package.
CreateConnection myFileConn = new CreateConnection();
myFileConn.CreateFileConnection(pkg);
// View the second connection in the package.
Console.WriteLine("Connection description: {0}",
pkg.Connections["SSIS Connection Manager for Files"].Description);
Console.WriteLine();
Console.WriteLine("Number of connections in package: {0}", pkg.Connections.Count);
Console.Read();
}
}
// <summary>
// This class contains the definitions for multiple
// connection managers.
// </summary>
public class CreateConnection
{
// Private data.
private ConnectionManager ConMgr;
// Class definition for OLE DB Provider.
public void CreateOLEDBConnection(Package p)
{
ConMgr = p.Connections.Add("OLEDB");
ConMgr.ConnectionString = "Provider=SQLOLEDB.1;" +
"Integrated Security=SSPI;Initial Catalog=AdventureWorks;" +
"Data Source=(local);";
ConMgr.Name = "SSIS Connection Manager for OLE DB";
ConMgr.Description = "OLE DB connection to the AdventureWorks database.";
}
public void CreateFileConnection(Package p)
{
ConMgr = p.Connections.Add("File");
ConMgr.ConnectionString = @"\\<yourserver>\<yourfolder>\books.xml";
ConMgr.Name = "SSIS Connection Manager for Files";
ConMgr.Description = "Flat File connection";
}
}
}
Imports Microsoft.SqlServer.Dts.Runtime
Module Module1
Sub Main()
' Create a package, and retrieve its connections.
Dim pkg As New Package()
Dim pkgConns As Connections = pkg.Connections
' Add an OLE DB connection to the package, using the
' method defined in the AddConnection class.
Dim myOLEDBConn As New CreateConnection()
myOLEDBConn.CreateOLEDBConnection(pkg)
' View the new connection in the package.
Console.WriteLine("Connection description: {0}", _
pkg.Connections("SSIS Connection Manager for OLE DB").Description)
' Add a second connection to the package.
Dim myFileConn As New CreateConnection()
myFileConn.CreateFileConnection(pkg)
' View the second connection in the package.
Console.WriteLine("Connection description: {0}", _
pkg.Connections("SSIS Connection Manager for Files").Description)
Console.WriteLine()
Console.WriteLine("Number of connections in package: {0}", pkg.Connections.Count)
Console.Read()
End Sub
End Module
' This class contains the definitions for multiple
' connection managers.
Public Class CreateConnection
' Private data.
Private ConMgr As ConnectionManager
' Class definition for OLE DB provider.
Public Sub CreateOLEDBConnection(ByVal p As Package)
ConMgr = p.Connections.Add("OLEDB")
ConMgr.ConnectionString = "Provider=SQLOLEDB.1;" & _
"Integrated Security=SSPI;Initial Catalog=AdventureWorks;" & _
"Data Source=(local);"
ConMgr.Name = "SSIS Connection Manager for OLE DB"
ConMgr.Description = "OLE DB connection to the AdventureWorks database."
End Sub
Public Sub CreateFileConnection(ByVal p As Package)
ConMgr = p.Connections.Add("File")
ConMgr.ConnectionString = "\\<yourserver>\<yourfolder>\books.xml"
ConMgr.Name = "SSIS Connection Manager for Files"
ConMgr.Description = "Flat File connection"
End Sub
End Class
Amostra de saída:
Connection description: OLE DB connection to the AdventureWorks database.
Connection description: Flat File connection.
Number of connections in package: 2