Herstellen einer Verbindung zu Datenquellen in der Skriptkomponente
Ein Verbindungs-Manager ist eine praktische Einheit, die die Informationen kapselt und speichert, die benötigt werden, um eine Verbindung mit einem bestimmten Datenquellentyp herzustellen. Weitere Informationen finden Sie unter SQL Server Integration Services-Verbindungen.
Sie können vorhandene Verbindungs-Manager über das benutzerdefinierte Skript in der Quell- oder Zielkomponente zum Zugriff freigeben, indem Sie auf der Seite Verbindungs-Manager des Transformations-Editors für Skripterstellung auf die Schaltfläche Hinzufügen oder Entfernen klicken. Um Daten zu laden und zu speichern und möglicherweise auch eine Verbindung mit der Datenquelle herzustellen und diese zu beenden, müssen Sie jedoch Ihren eigenen benutzerdefinierten Code schreiben. Weitere Informationen über die Seite Verbindungs-Manager im Transformations-Editor für Skripterstellung finden Sie unter Konfigurieren der Skriptkomponente im Skriptkomponenten-Editor und Transformations-Editor für Skripterstellung (Seite Verbindungs-Manager).
Die Skriptkomponente erstellt eine Connections-Auflistungsklasse im ComponentWrapper-Projektelement, die einen Accessor mit starker Typbindung für jeden Verbindungs-Manager enthält, der denselben Namen wie der Verbindungs-Manager trägt. Diese Auflistung wird von der Connections-Eigenschaft der ScriptMain-Klasse verfügbar gemacht. Die Accessoreigenschaft gibt einen Verweis auf den Verbindungs-Manager als Instanz von IDTSConnectionManager100 zurück. Wenn Sie beispielsweise auf der Seite Verbindungs-Manager des Dialogfelds den Verbindungs-Manager MyADONETConnection hinzugefügt haben, können Sie mit dem folgenden Code im Skript einen Verweis darauf hinzufügen:
Dim myADONETConnectionManager As IDTSConnectionManager100 = _
Me.Connections.MyADONETConnection
Hinweis |
---|
Sie müssen den Typ der Verbindung wissen, der vom Verbindungs-Manager zurückgegeben wird, bevor Sie AcquireConnection aufrufen. Da für den Skripttask Option Strict aktiviert ist, müssen Sie die Verbindung, die als Object-Typ zurückgegeben wird, vor ihrer Verwendung in den richtigen Verbindungstyp umwandeln. |
Anschließend rufen Sie die AcquireConnection-Methode des jeweiligen Verbindungs-Managers auf, um entweder die zugrunde liegende Verbindung oder die für die Verbindung zur Datenquelle erforderlichen Informationen zu erhalten. Mit folgendem Code erhalten Sie beispielsweise einen Verweis auf System.Data.SqlConnection, umgeben von einem ADO.NET-Verbindungs-Manager:
Dim myADOConnection As SqlConnection = _
CType(MyADONETConnectionManager.AcquireConnection(Nothing), SqlConnection)
Wenn Sie im Gegensatz dazu einen Verbindungs-Manager für Flatfiles aufrufen, wird nur der Pfad und der Dateiname der Dateidatenquelle zurückgegeben.
Dim myFlatFile As String = _
CType(MyFlatFileConnectionManager.AcquireConnection(Nothing), String)
Übergeben Sie dann diesen Pfad und den Dateinamen an einen System.IO.StreamReader oder Streamwriter, um die Daten in der Flatfile zu lesen oder zu schreiben.
Wichtig |
---|
Wenn Sie in einer Skriptkomponente verwalteten Code schreiben, können Sie die AcquireConnection-Methode nicht für Verbindungs-Manager, die unverwaltete Objekte zurückgeben, aufrufen (z. B. der OLE DB-Verbindungs-Manager oder der Excel-Verbindungs-Manager). Sie können jedoch die ConnectionString-Eigenschaft dieser Verbindungs-Manager lesen und mithilfe der Verbindungszeichenfolge einer OLEDB-Verbindung aus dem System.Data.OleDb-Namespace direkt im Code eine Verbindung zur Datenquelle herstellen. Wenn Sie die AcquireConnection-Methode eines Verbindungs-Managers aufrufen müssen, der nicht verwaltete Objekte zurückgibt, verwenden Sie einen ADO.NET-Verbindungs-Manager. Wenn Sie den ADO.NET-Verbindungs-Manager zur Verwendung eines OLE DB-Anbieters konfigurieren, stellt er über den .NET Framework-Datenanbieter für OLE DB eine Verbindung her. In diesem Fall gibt die AcquireConnection-Methode System.Data.OleDb.OleDbConnection statt eines nicht verwalteten Objekts zurück. Zur Konfiguration eines ADO.NET-Verbindungs-Managers zur Verwendung mit einer Excel-Datenquelle wählen Sie den Microsoft OLE DB-Anbieter für Jet aus, geben eine Excel-Arbeitsmappe an und geben dann Excel 8.0 (für Excel 97 und höher) als Wert für Erweiterte Eigenschaften auf der Seite Alle des Dialogfelds Verbindungs-Manager ein. |
Weitere Informationen zur Verwendung von Verbindungs-Managern mit der Skriptkomponente finden Sie unter Erstellen einer Quelle mit der Skriptkomponente und Erstellen eines Ziels mit der Skriptkomponente.
|
Siehe auch