Freigeben über


OLE DB-Quelle

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

Die OLE DB-Quelle extrahiert Daten aus einer Vielzahl von OLE DB-kompatiblen relationalen Datenbanken mithilfe einer Datenbanktabelle, einer Ansicht oder eines SQL-Befehls. Beispielsweise kann die OLE DB-Quelle Daten aus Tabellen in Microsoft Office Access- oder SQL Server -Datenbanken extrahieren.

Hinweis

Wenn es sich bei der Datenquelle um Microsoft Office Excel 2007 handelt, erfordert die Datenquelle einen anderen Verbindungs-Manager als frühere Versionen von Excel. Weitere Informationen finden Sie unter Herstellen einer Verbindung mit einer Excel-Arbeitsmappe.

Die OLE DB-Quelle stellt vier verschiedene Datenzugriffsmodi zum Extrahieren von Daten bereit:

  • Eine Tabelle oder Sicht.

  • Eine in einer Variablen angegebene Tabelle oder Sicht.

  • Die Ergebnisse einer SQL-Anweisung. Bei der Abfrage kann es sich um eine parametrisierte Abfrage handeln.

  • Die Ergebnisse einer SQL-Anweisung, die in einer Variablen gespeichert ist.

Hinweis

Wenn Sie eine SQL-Anweisung verwenden, um eine gespeicherte Prozedur aufzurufen, die Ergebnisse aus einer temporären Tabelle zurückgibt, verwenden Sie die OPTION WITH RESULT SETS, um Metadaten für das Resultset zu definieren.

Wenn Sie eine parametrisierte Abfrage verwenden, können Sie Parametern Variablen zuordnen, um die Werte einzelner Parameter in SQL-Anweisungen anzugeben.

Diese Quelle verwendet einen OLE DB-Verbindungs-Manager zum Herstellen einer Verbindung zu einer Datenquelle, und der Verbindungs-Manager gibt den zu verwendenden OLE DB-Anbieter an. Weitere Informationen finden Sie unter OLE DB Connection Manager.

Ein Integration Services -Projekt stellt außerdem das Datenquellenobjekt bereit, von dem Sie einen OLE DB-Verbindungs-Manager erstellen können, um Datenquellen und Datenquellensichten für die OLE DB-Quelle zur Verfügung zu stellen.

Je nach OLE DB-Anbieter gelten für die OLE DB-Quelle bestimmte Einschränkungen:

  • Der Microsoft OLE DB-Anbieter für Oracle unterstützt die Oracle-Datentypen BLOB, CLOB, NCLOB, BFILE oder UROWID nicht, und die OLE DB-Quelle kann keine Daten aus Tabellen extrahieren, die Spalten mit diesen Datentypen enthalten.

  • Der IBM OLE DB2-Anbieter und der Microsoft OLE DB2-Anbieter unterstützen nicht die Verwendung eines SQL-Befehls, der eine gespeicherte Prozedur aufruft. Wenn diese Art von Befehl verwendet wird, kann die OLE DB-Quelle die Spaltenmetadaten nicht erstellen. Für die Datenflusskomponenten, die im Datenfluss auf die OLE DB-Quelle folgen, sind deshalb keine Spaltendaten verfügbar, und beim Ausführen des Datenflusses wird ein Fehler gemeldet.

Die OLE DB-Quelle weist eine reguläre Ausgabe und eine Fehlerausgabe auf.

Verwenden parametrisierter SQL-Anweisungen

Die OLE DB-Quelle kann eine SQL-Anweisung zum Extrahieren von Daten verwenden. Die Anweisung kann eine SELECT- oder EXEC-Anweisung sein.

Die OLE DB-Quelle verwendet einen OLE DB-Verbindungs-Manager zum Herstellen einer Verbindung zur Datenquelle, aus der Daten extrahiert werden. Für die Benennung und Auflistung von Parametern gelten verschiedene Regeln, abhängig vom Anbieter, den der OLE DB-Verbindungs-Manager verwendet, und abhängig vom Managementsystem für relationale Datenbanken (RDBMS), zu dem der Verbindungs-Manager eine Verbindung herstellt. Wenn die Parameternamen von RDBMS zurückgegeben werden, können Sie Parameternamen verwenden, um Parameter in einer Parameterliste Parametern in einer SQL-Anweisung zuzuordnen. andernfalls werden die Parameter dem Parameter in der SQL-Anweisung anhand ihrer Ordnungsposition in der Parameterliste zugeordnet. Die jeweils unterstützten Typen von Parameternamen variieren je nach Anbieter. Beispielsweise erfordern einige Anbieter Variablen- oder Spaltennamen, andere Anbieter erfordern hingegen symbolische Namen, wie z. B. 0 oder Param0. Informationen zu den in SQL-Anweisungen zu verwendenden Parameternamen entnehmen Sie bitte der anbieterspezifischen Dokumentation.

Bei Verwendung eines OLE DB-Verbindungs-Managers können Sie keine parametrisierten Unterabfragen verwenden, das die OLE DB-Quelle keine Parameterinformationen über den OLE DB-Anbieter ableiten kann. Sie können jedoch einen Ausdruck verwenden, um die Parameterwerte in der Abfrage zu verketten und die SqlCommand-Eigenschaft der Quelle festzulegen. Im Designer von SSIS können Sie eine OLE DB-Quelle im Dialogfeld Quellen-Editor für OLE DB konfigurieren und die Parameter Variablen im Dialogfeld Abfrageparameter festlegen zuordnen.

Angeben von Parametern mithilfe der Ordnungsposition

Werden keine Parameternamen zurückgegeben, steuert die Reihenfolge, in der die Parameter in der Liste Parameter im Dialogfeld Abfrageparameter festlegen aufgelistet werden, welche Parametermarkierungen zur Laufzeit zugeordnet werden. Der erste in der Liste aufgeführte Parameter wird dem ersten ? in der SQL-Anweisung zugeordnet, der zweite Parameter dem zweiten ? usw.

Die folgende SQL-Anweisung wählt die Zeilen aus der Product -Tabelle der AdventureWorks2022 -Datenbank aus. Der erste Parameter der Mappings -Liste wird dem ersten Parameter der Color -Spalte und der zweite Parameter der Size -Spalte zugeordnet.

SELECT * FROM Production.Product WHERE Color = ? AND Size = ?

Die Parameternamen haben keine Auswirkungen. Wurde z. B. ein Parameter genauso benannt wie die Spalte, für die er gilt, jedoch nicht in der richtigen Ordnungsposition in der Parameters -Liste eingereiht, wird in der zur Laufzeit stattfindenden Parameterzuordnung die Ordnungsposition des Parameters verwendet, nicht der Parametername.

Der EXEC-Befehl erfordert in der Regel die Verwendung der Variablennamen, die in der Prozedur Parameterwerte als Parameternamen bereitstellen.

Angeben von Parametern mithilfe von Namen

Wenn die tatsächlichen Parameternamen vom RDBMS zurückgegeben werden, werden die von einer SELECT- und EXEC-Anweisung verwendeten Parameter den Namen zugeordnet. Die Parameternamen müssen den Namen entsprechen, die die gespeicherte Prozedur, die von der SELECT- oder EXEC-Anweisung ausgeführt wird, erwartet.

Die folgende SQL-Anweisung führt die in der -Datenbank verfügbare gespeicherte Prozedur uspGetWhereUsedProductID AdventureWorks2022 aus.

EXEC uspGetWhereUsedProductID ?, ?

Die gespeicherte Prozedur erwartet, dass die @StartProductID - und @CheckDate-Variablen Parameterwerte bereitstellen. Dabei ist die Reihenfolge, in der die Parameter in der Mappings -Liste angezeigt werden, irrelevant. Die einzige Voraussetzung ist, dass die Parameternamen den Variablennamen der gespeicherten Prozedur entsprechen müssen. Hierzu zählt auch das @-Zeichen.

Zuordnen von Parametern zu Variablen

Die Parameter werden Variablen zugeordnet, die die Parameterwerte zur Laufzeit bereitstellen. Bei den Variablen handelt es sich in der Regel um benutzerdefinierte Variablen, obwohl Sie auch die in Integration Services bereitgestellten Systemvariablen verwenden können. Stellen Sie beim Verwenden von benutzerdefinierten Variablen sicher, dass Sie den Datentyp auf einen Typ festlegen, der mit dem Datentyp der Spalte, auf die der zugeordnete Parameter verweist, kompatibel ist. Weitere Informationen finden Sie unter Integration Services-Variablen (SSIS).

Problembehandlung der OLE DB-Quelle

Sie können die von der OLE DB-Quelle an externe Datenanbieter gerichteten Aufrufe protokollieren. Mithilfe dieser Protokollierungsfunktion können Sie Probleme beim Laden von Daten aus externen Datenquellen durch die OLE DB-Quelle behandeln. Aktivieren Sie zum Protokollieren der von der OLE DB-Quelle an externe Datenanbieter gerichteten Aufrufe die Paketprotokollierung, und wählen Sie das Diagnostic -Ereignis auf Paketebene aus. Weitere Informationen finden Sie unter Behandeln von Problemen mit Paketausführungstools.

Konfigurieren der OLE DB-Quelle

Eigenschaften können Sie programmgesteuert oder mit dem SSIS -Designer festlegen.

Das Dialogfeld Erweiterter Editor enthält die Eigenschaften, die programmgesteuert festgelegt werden können. Klicken Sie auf eines der folgenden Themen, um weitere Informationen zu den Eigenschaften zu erhalten, die Sie im Dialogfeld Erweiterter Editor oder programmgesteuert festlegen können:

SSIS mit Oracle-Connectors

Quellen-Editor für OLE DB (Seite Verbindungs-Manager)

Auf der Seite Verbindungs-Manager des Dialogfelds Quellen-Editor für OLE DB wählen Sie den OLE DB-Verbindungs-Manager für die Quelle aus. Außerdem können Sie auf dieser Seite eine Tabelle oder Sicht aus der Datenbank auswählen.

Hinweis

Verwenden Sie zum Laden von Daten aus einer Datenquelle, für die Microsoft Office Excel 2007 verwendet wird, eine OLE DB-Quelle. Sie können eine Excel-Quelle nicht zum Laden von Daten aus einer Excel 2007-Datenquelle verwenden. Weitere Informationen finden Sie unter Configure OLE DB Connection Manager.

Verwenden Sie zum Laden von Daten aus einer Datenquelle, für die Microsoft Office Excel 2003 oder eine frühere Version verwendet wird, eine Excel-Quelle. Weitere Informationen finden Sie unter Quellen-Editor für Excel (Seite „Verbindungs-Manager“).

Hinweis

Die CommandTimeout -Eigenschaft der OLE DB-Quelle ist nicht im Quellen-Editor für OLE DBverfügbar, sie kann jedoch mit dem Dialogfeld Erweiterter Editorfestgelegt werden. Weitere Informationen zu dieser Eigenschaft finden Sie im Abschnitt Excel-Quelle von OLE DB Custom Properties.

Öffnen des Quellen-Editors für OLE DB (Seite „Verbindungs-Manager“)

  1. Fügen Sie die OLE DB-Quelle dem Integration Services Paket in SQL Server Data Tools (SSDT)hinzu.

  2. Klicken Sie mit der rechten Maustaste auf die Quellkomponente, und klicken Sie dann auf Bearbeiten.

  3. Klicken Sie auf Verbindungs-Manager.

Statische Optionen

Teilcache
Wählen Sie in der Liste einen vorhandenen Verbindungs-Manager aus, oder erstellen Sie eine neue Verbindung, indem Sie auf Neuklicken.

Neu
Erstellen Sie mithilfe des Dialogfelds OLE DB-Verbindungs-Manager konfigurieren einen neuen Verbindungs-Manager.

Datenzugriffsmodus
Geben Sie die Methode für die Auswahl von Daten aus der Quelle an.

Option BESCHREIBUNG
Tabelle oder Sicht Rufen Sie Daten aus einer Tabelle oder Sicht in der OLE DB-Datenquelle ab.
Variable für Tabellenname oder Sichtname Gibt den Namen der Tabelle oder Sicht in einer Variablen an.

Verwandte Informationen: Verwenden von Variablen in Paketen
SQL-Befehl Rufen Sie mit SQL-Abfrage Daten aus der OLE DB-Datenquelle ab.
SQL-Befehl aus Variable Gibt den SQL-Abfragetext in einer Variablen an.

Vorschau
Zeigen Sie mithilfe des Dialogfelds Datenansicht eine Vorschau der Ergebnisse an. In derVorschau können bis zu 200 Zeilen angezeigt werden.

Hinweis

In der Datenvorschau enthalten Spalten mit einem CLR-benutzerdefinierten Typ keine Daten. Stattdessen werden die Werte <Wert zu groß zum Anzeigen> oder „System.Byte[]“ angezeigt. Der erste Wert wird angezeigt, wenn mithilfe des SQL-OLE DB-Anbieters auf die Datenquelle zugegriffen wird. Der zweite Wert wird bei Verwendung des SQL Server Native Client-Anbieters angezeigt.

Dynamische Optionen (Datenzugriffsmodus)

Datenzugriffsmodus = Tabelle oder Sicht

Name der Tabelle oder Sicht
Wählen Sie den Namen der Tabelle oder Sicht aus einer Liste der verfügbaren Namen in der Datenquelle aus.

Datenzugriffsmodus = Variable für Tabellenname oder Sichtname

Variablenname
Wählen Sie die Variable aus, die den Namen der Tabelle oder Sicht enthält.

Datenzugriffsmodus = SQL-Befehl

SQL-Befehlstext
Geben Sie den Text einer SQL-Abfrage ein, und erstellen Sie die Abfrage, indem Sie auf Abfrage erstellenklicken, oder suchen Sie nach der Datei, die den Abfragetext enthält, indem Sie auf Durchsuchenklicken.

Parameter
Wenn Sie eine parametrisierte Abfrage eingeben und im Abfragetext ? als Parameterplatzhalter verwenden, können Sie den Paketvariablen mithilfe des Dialogfelds Abfrageparameter festlegen Abfrageeingabeparameter zuordnen.

Abfrage erstellen
Mithilfe des Dialogfelds Abfrage-Generator können Sie die SQL-Abfrage visuell erstellen.

Durchsuchen
Mithilfe des Dialogfelds Öffnen können Sie nach der Datei suchen, die den Text der SQL-Abfrage enthält.

Abfrage analysieren
Überprüft die Syntax des Abfragetexts.

Datenzugriffsmodus = SQL-Befehl aus Variable

Variablenname
Wählen Sie die Variable aus, die den Text für die SQL-Abfrage enthält.

Quellen-Editor für OLE DB (Seite Spalten)

Auf der Seite Spalten des Dialogfelds Quellen-Editor für OLE DB können Sie jeder externen (Quell-)Spalte eine Ausgabespalte zuordnen.

Tastatur

Verfügbare externe Spalten
Zeigt die Liste der in der Datenquelle verfügbaren externen Spalten an. Mit der Tabelle können keine Spalten hinzugefügt oder gelöscht werden.

Externe Spalte
Zeigt die externen (Quell-)Spalten in der gleichen Reihenfolge an wie beim Konfigurieren von Komponenten, die Daten aus dieser Quelle verwenden. Sie können die Reihenfolge ändern, indem Sie zunächst die ausgewählten Spalten in der Tabelle löschen. Wählen Sie anschließend die externen Spalten in einer anderen Reihenfolge aus der Liste aus.

Ausgabespalte
Geben Sie für jede Ausgabespalte einen eindeutigen Namen an. Standardmäßig wird der Name der ausgewählten externen (Quell-)Spalte verwendet. Sie können jedoch auch einen beschreibenden Namen angeben, sofern dieser eindeutig ist. Der bereitgestellte Name wird im SSIS-Designer angezeigt.

Quellen-Editor für OLE DB (Seite Fehlerausgabe)

Mithilfe der Seite Fehlerausgabe des Dialogfelds Quellen-Editor für OLE DB können Sie Fehlerbehandlungsoptionen auswählen und Eigenschaften für Fehlerausgabespalten festlegen.

Tastatur

Eingabe/Ausgabe
Zeigt den Namen der Datenquelle an.

Spalte
Zeigt die externen (Quell-)Spalten an, die im Dialogfeld Quellen-Editor für OLE DB auf der Seite Verbindungs-Managerausgewählt wurden.

Fehler
Gibt an, was bei Auftreten eines Fehlers geschehen soll: den Fehler ignorieren, die Zeile umleiten oder die Komponente mit einem Fehler abbrechen.

Verwandte Themen: Fehlerbehandlung in Daten

Abschneiden
Gibt an, was im Falle einer Kürzung geschehen soll: den Fehler ignorieren, die Zeile umleiten oder die Komponente mit einem Fehler abbrechen.

Beschreibung
Zeigt die Beschreibung des Fehlers an.

Diesen Wert für ausgewählte Zellen festlegen
Gibt an, was im Falle eines Fehlers oder einer Kürzung mit den ausgewählten Zellen geschehen soll: den Fehler ignorieren, die Zeile umleiten oder die Komponente mit einem Fehler abbrechen.

Anwenden
Wendet die Fehlerbehandlungsoption auf die ausgewählten Zellen an.

Weitere Informationen

OLE DB-Ziel
Integration Services-Variablen (SSIS)
Datenfluss