Programmgesteuertes Arbeiten mit Verbindungs-Managern
In Integration Services ist die AcquireConnection-Methode der zugeordneten Verbindungs-Manager-Klasse die Methode, die Sie am häufigsten aufrufen, wenn Sie mit Verbindungs-Managern in verwaltetem Code arbeiten. Beim Schreiben von verwaltetem Code müssen Sie die AcquireConnection-Methode aufrufen, um die Funktionen eines Verbindungs-Managers verwenden zu können. Sie müssen diese Methode unabhängig davon, ob Sie einen verwalteten Code in einem Skripttask, einer Skriptkomponente, einem benutzerdefinierten Objekt oder einer benutzerdefinierten Anwendung schreiben, aufrufen.
Um die AcquireConnection-Methode erfolgreich aufzurufen, müssen Sie die Antworten zu den folgenden Fragen wissen:
Welche Verbindungs-Manager geben ein verwaltetes Objekt von der AcquireConnection-Methode zurück?
Viele Verbindungs-Manager geben nicht verwaltete COM-Objekte (System.__ComObject) zurück, und diese Objekte können nicht ohne Weiteres in verwaltetem Code verwendet werden. Zu diesen Verbindungs-Managern gehört der häufig verwendete OLE DB-Verbindungs-Manager.
Welche Objekte werden von den AcquireConnection-Methoden der Verbindungs-Manager zurückgegeben, die ein verwaltetes Objekt zurückgeben?
Um den Rückgabewert in den geeigneten Typ umzuwandeln, müssen Sie wissen, welchen Objekttyp die AcquireConnection-Methode zurückgibt. Zum Beispiel gibt die AcquireConnection-Methode für den ADO.NET-Verbindungs-Manager ein offenes SqlConnection-Objekt zurück, wenn Sie den SqlClient-Anbieter benutzen. Die AcquireConnection-Methode für den Dateiverbindungs-Manager gibt jedoch nur eine Zeichenfolge zurück.
In diesem Thema werden diese Fragen für die in Integration Services enthaltenen Verbindungs-Manager beantwortet.
Verbindungs-Manager, die kein verwaltetes Objekt zurückgeben
In der folgenden Tabelle werden die Verbindungs-Manager aufgelistet, die mit der AcquireConnection-Methode ein systemeigenes COM-Objekt (System.__ComObject) zurückgeben. Diese nicht verwalteten Objekte können nicht ohne Weiteres in verwaltetem Code verwendet werden.
Typ des Verbindungs-Managers |
Name des Verbindungs-Managers |
---|---|
ADO |
ADO-Verbindungs-Manager |
MSOLAP90 |
Analysis Services-Verbindungs-Manager |
EXCEL |
Excel-Verbindungs-Manager |
FTP |
FTP-Verbindungs-Manager |
HTTP |
HTTP-Verbindungs-Manager |
ODBC |
ODBC-Verbindungs-Manager |
OLEDB |
OLE DB-Verbindungs-Manager |
In der Regel können Sie einen ADO.NET-Verbindungs-Manager in verwaltetem Code verwenden, um eine Verbindung mit einer ADO-, Excel-, ODBC- oder OLE DB-Datenquelle herzustellen.
Rückgabewerte von der AcquireConnection-Methode
In der folgenden Tabelle werden die Verbindungs-Manager aufgelistet, die mit der AcquireConnection-Methode ein verwaltetes Objekt zurückgeben. Diese verwalteten Objekte können einfach in verwaltetem Code verwendet werden.
Typ des Verbindungs-Managers |
Name des Verbindungs-Managers |
Typ des Rückgabewerts |
Zusätzliche Informationen |
---|---|---|---|
ADO.NET |
ADO.NET-Verbindungs-Manager |
System.Data.SqlClient.SqlConnection |
|
FILE |
Dateiverbindungs-Manager |
System.String |
Pfad zur Datei. |
FLATFILE |
Verbindungs-Manager für Flatfiles |
System.String |
Pfad zur Datei. |
MSMQ |
MSMQ-Verbindungs-Manager |
System.Messaging.MessageQueue |
|
MULTIFILE |
Verbindungs-Manager für mehrere Dateien |
System.String |
Pfad zu einer der Dateien. |
MULTIFLATFILE |
Verbindungs-Manager für mehrere Flatfiles |
System.String |
Pfad zu einer der Dateien. |
SMOServer |
SMO-Verbindungs-Manager |
Microsoft.SqlServer.Management.Smo.Server |
|
SMTP |
SMTP-Verbindungs-Manager |
System.String |
Beispiel: SmtpServer=<server name>;UseWindowsAuthentication=True;EnableSsl=False; |
WMI |
WMI-Verbindungs-Manager |
System.Management.ManagementScope |
|
SQLMOBILE |
SQL Server Compact Verbindungs-Manager |
System.Data.SqlServerCe.SqlCeConnection |
|
Siehe auch
Verweis
Herstellen einer Verbindung zu Datenquellen im Skripttask
Konzepte
Herstellen einer Verbindung zu Datenquellen in der Skriptkomponente
Herstellen einer Verbindung mit Datenquellen in einem benutzerdefinierten Task