Teilen über


Herstellen einer Verbindung zu Datenquellen in der Skriptkomponente

Gilt für: SQL Server SSIS Integration Runtime in Azure Data Factory

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 Integration Services-Verbindungen (SSIS).

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 im ComponentWrapper-Projektelement eine Connections-Collectionklasse, die einen stark typisierten Accessor für jeden Verbindungs-Manager enthält, der denselben Namen wie der Verbindungs-Manager trägt. Diese Collection 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

Der Verbindungstyp, der vom Verbindungs-Manager zurückgegeben wird, muss bekannt sein, 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 mit der Datenquelle erforderlichen Informationen zu erhalten. Mit folgendem Code erhalten Sie beispielsweise einen Verweis auf ein System.Data.SqlConnection-Objekt, das von einem ADO.NET-Verbindungs-Manager umschlossen wird:

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 ein System.IO.StreamReader- oder Streamwriter-Objekt, 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 wie den OLEDB- oder den Excel-Verbindungs-Manager aufrufen, die nicht verwaltete Objekte zurückgeben. 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 mit der 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 ein System.Data.OleDb.OleDbConnection-Objekt anstelle eines nicht verwalteten Objekts zurück. Zur Konfiguration eines ADO.NET-Verbindungs-Managers zur Verwendung mit einer Excel-Datenquelle wählen Sie den Microsoft OLEDB-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 Creating a Source with the Script Component (Erstellen einer Quelle mit der Skriptkomponente) und Creating a Destination with the Script Component (Erstellen eines Ziels mit der Skriptkomponente).

Siehe auch

Integration Services-Verbindungen (SSIS)
Erstellen von Verbindungs-Managern