Transformation für Suche
Gilt für: SQL Server SSIS Integration Runtime in Azure Data Factory
Die Transformation für die Suche führt Suchvorgänge aus, indem Daten in Eingabespalten mit Spalten in einem Verweisdataset verknüpft werden. Mithilfe der Transformation für Suche können Sie auf zusätzliche Informationen in einer zugehörigen Tabelle zugreifen, die auf Werten in gemeinsamen Spalten basiert.
Das Referenzdatenset kann eine Cachedatei, eine vorhandene Tabelle oder Ansicht, eine neue Tabelle oder das Ergebnis einer SQL-Abfrage sein. Die Transformation für Suche stellt entweder mithilfe eines OLE DB-Verbindungs-Managers oder eines Cacheverbindungs-Managers eine Verbindung mit dem Verweisdataset her. Weitere Informationen finden Sie unter OLE DB-Verbindungs-Manager und Cacheverbindungs-Manager
Es gibt folgende Möglichkeiten, um die Transformation für die Suche zu konfigurieren:
Wählen Sie den Verbindungs-Manager aus, den Sie verwenden möchten. Wenn Sie eine Verbindung mit einer Datenbank herstellen möchten, wählen Sie einen OLE DB-Verbindungs-Manager aus. Wenn Sie eine Verbindung mit einer Cachedatei herstellen möchten, wählen Sie einen Cacheverbindungs-Manager aus.
Geben Sie die Tabelle oder Sicht an, die das Verweisdataset enthält.
Generieren Sie ein Referenzdatenset, indem Sie eine SQL-Anweisung angeben.
Geben Sie Joins zwischen der Eingabe und dem Verweisdataset an.
Fügen Sie der Ausgabe der Transformation für Suche Spalten aus dem Verweisdataset hinzu.
Konfigurieren Sie die Optionen für die Zwischenspeicherung.
Die Transformation für Suche unterstützt die folgenden Datenbankanbieter für den OLE DB-Verbindungs-Manager:
-
SQL Server
Oracle
DB2
Die Transformation für Suche versucht, einen Gleichheitsjoin zwischen Werten in der Transformationseingabe und Werten im Verweisdataset auszuführen. (Ein Gleichheitsjoin bedeutet, dass jede Zeile in der Transformationseingabe mindestens einer Zeile aus dem Verweisdataset entsprechen muss.) Wenn ein Gleichheitsjoin nicht ausgeführt werden kann, führt die Transformation für Suche eine der folgenden Aktionen aus:
Falls im Verweisdataset kein entsprechender Eintrag vorhanden ist, wird kein Join ausgeführt. Standardmäßig werden bei Verwendung einer Transformation für Suche die Zeilen ohne übereinstimmende Einträge als Fehler behandelt. Sie haben jedoch die Möglichkeit, die Transformation für Suche so zu konfigurieren, dass die Zeilen an eine Ausgabe nicht übereinstimmender Einträge weitergeleitet werden.
Sind in der Verweistabelle mehrere übereinstimmende Einträge vorhanden, gibt die Transformation für Suche nur den ersten übereinstimmenden Eintrag zurück, der von der Suchabfrage zurückgegeben wird. Wenn mehrere übereinstimmende Einträge gefunden werden, wird von der Transformation für Suche nur dann ein Fehler bzw. eine Warnung generiert, wenn die Transformation für das Laden des gesamten Verweisdatasets in den Cache konfiguriert ist. In diesem Fall, wird von der Transformation für Suche eine Warnung generiert, wenn die Transformation während des Füllens des Caches mehrere übereinstimmende Einträge erkennt.
Der Join kann ein zusammengesetzter Join sein. Das bedeutet, dass Sie mehrere Spalten in der Transformationseingabe mit Spalten im Verweisdataset verknüpfen können. Die Transformation unterstützt Joinspalten eines beliebigen Datentyps, außer DT_R4, DT_R8, DT_TEXT, DT_NTEXT oder DT_IMAGE. Weitere Informationen finden Sie unter Integration Services Datentypen.
Normalerweise werden Werte aus dem Verweisdataset der Transformationsausgabe hinzugefügt. Beispielsweise kann die Transformation für die Suche einen Produktnamen aus einer Tabelle mithilfe eines Wertes aus einer Eingabespalte extrahieren und den Produktnamen dann der Transformationsausgabe hinzufügen. Die Werte aus der Verweistabelle können Spaltenwerte ersetzen oder können neuen Spalten hinzugefügt werden.
Bei den von der Transformation für die Suche ausgeführten Suchvorgängen wird nach Groß-/Kleinschreibung unterschieden. Um Fehler bei der Suche aufgrund von unterschiedlicher Groß-/Kleinschreibung bei den Daten zu vermeiden, konvertieren Sie die Daten zunächst mit der Transformation für Zeichenzuordnung in Groß- oder Kleinbuchstaben. Anschließend fügen Sie der SQL-Anweisung, mit der die Verweistabelle generiert wird, die UPPER- oder LOWER-Funktion hinzu. Weitere Informationen finden Sie unter Transformation zum Zuordnen der Zeichen, UPPER (Transact-SQL) und LOWER (Transact-SQL).
Die Transformation für Suche weist die folgenden Ein- und Ausgaben auf:
Eingabe.
Ausgabe übereinstimmender Einträge. Bei der Ausgabe übereinstimmender Einträge werden in der Transformationseingabe die Zeilen behandelt, die mindestens einem Eintrag im Verweisdataset entsprechen.
Ausgabe nicht übereinstimmender Einträge. Bei der Ausgabe nicht übereinstimmender Einträge in der Eingabe werden die Zeilen verarbeitet, die nicht mindestens einem Eintrag im Verweisdataset entsprechen. Wenn Sie die Transformation für Suche so konfigurieren, dass die Zeilen ohne übereinstimmende Einträge als Fehler behandelt werden, werden die Zeilen an die Fehlerausgabe weitergeleitet. Andernfalls würde die Transformation diese Zeilen an die Ausgabe nicht übereinstimmender Einträge weiterleiten.
Fehlerausgabe.
Zwischenspeichern des Verweisdatasets
In einem speicherresidenten Cache werden das Verweisdataset und eine Hashtabelle gespeichert, mit der die Daten indiziert werden. Der Cache bleibt speicherresident, bis die Ausführung des Pakets abgeschlossen ist. Sie können den Cache in einer Cachedatei (.caw) persistent speichern.
Wenn Sie den Cache in einer Datei persistent speichern, lädt das System den Cache schneller. Dies verbessert die Leistung der Transformation für Suche und des Pakets. Bei Verwendung einer Cachedatei arbeiten Sie mit Daten, die weniger aktuell sind als die Daten in der Datenbank.
Im Folgenden finden Sie weitere Vorteile einer persistenten Speicherung des Caches in einer Datei:
Die Cachedatei kann für mehrere Pakete freigegeben werden. Weitere Informationen finden Sie unter Implementieren einer Suchtransformation im Vollcachemodus mit der Transformation für Cacheverbindungs-Manager .
Die Cachedatei kann mit einem Paket bereitgestellt werden. Anschließend können Sie die Daten auf mehreren Computern verwenden. Weitere Informationen finden Sie unter Erstellen und Bereitstellen eines Caches für die Nachschlagetransformation.
Sie können die Rohdatendatei-Quelle zum Lesen der Daten aus der Cachedatei verwenden. Dann können Sie die Daten mithilfe anderer Datenflusskomponenten umwandeln oder verschieben. Weitere Informationen finden Sie unter Raw File Source.
Hinweis
Der Cacheverbindungs-Manager unterstützt keine mithilfe des Rohdatendatei-Ziels erstellten oder geänderten Cachedateien.
Mit dem Task Dateisystem können Sie für die Cachedatei Vorgänge ausführen und Attribute festlegen. Weitere Informationen finden Sie unter File System Task.
Folgende die Optionen für die Zwischenspeicherung sind verfügbar:
Das Verweisdataset wird durch die Verwendung einer Tabelle, Sicht oder SQL-Abfrage generiert und in den Cache geladen, bevor die Transformation für Suche ausgeführt wird. Für den Zugriff auf das Dataset verwenden Sie den OLE DB-Verbindungs-Manager.
Diese Option für die Zwischenspeicherung ist kompatibel mit der Option für die vollständige Zwischenspeicherung, die für die Transformation für Suche in SQL Server 2005 Integration Services (SSIS)verfügbar ist.
Das Verweisdataset wird aus einer verbundenen Datenquelle im Datenfluss oder aus einer Cachefile generiert und in den Cache geladen, bevor die Transformation für Suche ausgeführt wird. Für den Zugriff auf das Dataset verwenden Sie den Cacheverbindungs-Manager und optional die Cachetransformation. Weitere Informationen finden Sie unter Cacheverbindungs-Manager und Cachetransformation.
Das Verweisdataset wird durch die Verwendung einer Tabelle, Sicht oder SQL-Abfrage während der Ausführung der Transformation für Suche generiert. Die Zeilen mit übereinstimmenden Einträgen im Verweisdataset und die Zeilen ohne übereinstimmende Einträge im Dataset werden in den Cache geladen.
Wenn die Speichergröße des Caches überschritten wird, entfernt die Transformation zum Suchen automatisch die am seltensten verwendeten Zeilen aus dem Cache.
Diese Option für die Zwischenspeicherung ist kompatibel mit der Option für die teilweise Zwischenspeicherung, die für die Transformation für Suche in SQL Server 2005 Integration Services (SSIS)verfügbar ist.
Das Verweisdataset wird durch die Verwendung einer Tabelle, Sicht oder SQL-Abfrage während der Ausführung der Transformation für Suche generiert. Es werden keine Daten zwischengespeichert.
Diese Option für die Zwischenspeicherung ist kompatibel mit der Option für keine Zwischenspeicherung, die für die Transformation für Suche in SQL Server 2005 Integration Services (SSIS)verfügbar ist.
Integration Services und SQL Server unterscheiden sich in der Art des Zeichenfolgenvergleichs. Wenn die Transformation für Suche so konfiguriert ist, dass das Verweisdataset in den Cache geladen wird, bevor die Transformation für Suche ausgeführt wird, führt Integration Services den Suchvergleich im Cache aus. Andernfalls verwendet der Suchvorgang eine parametrisierte SQL-Anweisung, und SQL Server führt den Suchvergleich aus. Dies bedeutet, dass die Transformation für Suche je nach Cachetyp möglicherweise eine unterschiedliche Anzahl von Übereinstimmungen aus der gleichen Suchtabelle zurückgibt.
Related Tasks
Sie können Eigenschaften mit dem SSIS -Designer oder programmgesteuert festlegen. Weitere Einzelheiten finden Sie in den folgenden Hilfethemen:
Implementieren einer Suche im Modus „Kein Cache“ oder „Teilcache“
Implementieren einer Suchtransformation im Vollcachemodus mit dem OLE DB-Verbindungs-Manager
Verwandte Inhalte
Video How to: Implement a Lookup Transformation in Full Cache Mode(Vorgehensweise: Implementieren einer Suchtransformation im Vollcachemodus) unter msdn.microsoft.com
Blog-Artikel Best Practices for Using the Lookup Transformation Cache Modes(Bewährte Vorgehensweisen für die Verwendung des Cachemodus der Transformation für Suche) unter blogs.msdn.com
Blogeintrag Suchmuster: Keine Beachtung von Groß-/Kleinschreibungauf blogs.msdn.com.
Transformations-Editor für Suche (Seite 'Allgemein')
Auf der Seite Allgemein des Dialogfelds Transformations-Editor für Suche können Sie den Cachemodus und den Verbindungstyp auswählen sowie angeben, wie Zeilen ohne übereinstimmende Einträge behandelt werden sollen.
Optionen
Hinweis
Die Übereinstimmungsausgabe kann abhängig davon variieren, ob der vollständige Cachemodus, kein Cachemodus oder partieller Cachemodus verwendet wird:
- Im vollständigen Cachemodus wird die Datenbank einmal während der Vorausführungsphase des Datenflusses abgefragt, und der gesamte Verweissatz wird in den Arbeitsspeicher abgerufen. Dies bedeutet, dass wir die Abgleichsregel des SSIS-Moduls verwenden, bei der Groß-/Kleinschreibung beachtet wird, wobei nachgestellte Leerzeichen beachtet und mit numerischer Genauigkeit und Skalierung berücksichtigt werden.
- Wenn jedoch kein Cache- oder Partieller Cachemodus verwendet wird, erfolgt während der Vorausführungsphase keine Zwischenspeicherung. Dies bedeutet, dass die Übereinstimmungsregel der Quelldatenbank verwendet wird. Wenn die Quelle z. B. eine SQL Server-Datenbank ist und bei der Spaltensortierung die Groß-/Kleinschreibung nicht beachtet wird, sollte die entsprechende Regel auch die Groß-/Kleinschreibung nicht beachtet werden.
Vollcache
Das Verweisdataset wird generiert und in den Cache geladen, bevor die Transformation für Suche ausgeführt wird.
Teilcache
Das Verweisdataset wird während der Ausführung der Transformation für Suche generiert. Die Zeilen mit übereinstimmenden Einträgen im Verweisdataset und die Zeilen ohne übereinstimmende Einträge im Dataset werden in den Cache geladen.
Kein Cache
Das Verweisdataset wird während der Ausführung der Transformation für Suche generiert. Es werden keine Daten in den Zwischenspeicher geladen.
Allgemein
Die Transformation für Suche wird für die Verwendung eines Cacheverbindungs-Managers konfiguriert. Diese Option ist nur verfügbar, wenn die Option Vollcache ausgewählt ist.
Teilcache
Die Transformation für Suche wird für die Verwendung eines OLE DB-Verbindungs-Managers konfiguriert.
Angeben, wie Zeilen ohne übereinstimmende Einträge behandelt werden sollen
Wählen Sie eine Option für die Behandlung von Zeilen aus, die nicht mindestens einem Eintrag im Verweisdataset entsprechen.
Wenn Sie Zeilen an Ausgabe nicht übereinstimmender Einträge umleitenauswählen, werden die Zeilen an eine Ausgabe nicht übereinstimmender Einträge weitergeleitet und nicht als Fehler behandelt. Die Option Fehler auf der Seite Fehlerausgabe des Dialogfelds Transformations-Editor für Suche ist nicht verfügbar.
Wenn Sie im Listenfeld Angeben, wie Zeilen ohne übereinstimmende Einträge behandelt werden sollen eine andere Option auswählen, werden die Zeilen als Fehler behandelt. In diesem Fall ist die Option Fehler auf der Seite Fehlerausgabe verfügbar.
Externe Ressourcen
Blogeintrag Lookup cache modes (Suchcachemodi) auf blogs.msdn.com
Transformations-Editor für Suche (Seite 'Verbindung')
Auf der Seite Verbindung des Dialogfelds Transformations-Editor für Suche können Sie einen Verbindungs-Manager auswählen. Wenn Sie einen OLE DB-Verbindungs-Manager auswählen, wählen Sie auch eine Abfrage, Tabelle oder Sicht zum Generieren des Verweisdatasets aus.
Tastatur
Die folgenden Optionen sind verfügbar, wenn Sie im Dialogfeld Transformations-Editor für Suche auf der Seite Allgemein die Optionen Vollcache und Cacheverbindungs-Manager auswählen.
Allgemein
Wählen Sie einen vorhandenen Cacheverbindungs-Manager aus der Liste aus, oder erstellen Sie eine neue Verbindung, indem Sie auf Neuklicken.
Neu
Erstellen Sie mithilfe des Dialogfelds Editor für den Cacheverbindungs-Manager eine neue Verbindung.
Die folgenden Optionen sind verfügbar, wenn Sie im Dialogfeld Transformations-Editor für Sucheauf der Seite Allgemeindie Optionen Vollcache, Teilcacheoder Kein Cache und OLE DB-Verbindungs-Manager auswählen.
Teilcache
Wählen Sie einen vorhandenen OLE DB-Verbindungs-Manager aus der Liste aus, oder erstellen Sie eine neue Verbindung, indem Sie auf Neuklicken.
Neu
Erstellen Sie mithilfe des Dialogfelds OLE DB-Verbindungs-Manager konfigurieren eine neue Verbindung.
Tabelle oder Sicht verwenden
Wählen Sie eine vorhandene Tabelle oder Sicht aus der Liste aus, oder erstellen Sie eine neue Tabelle, indem Sie auf Neuklicken.
Hinweis
Wenn Sie auf der Seite Erweitert im Transformations-Editor für Suche eine SQL-Anweisung angeben, wird durch diese SQL-Anweisung der hier ausgewählte Tabellenname überschrieben und ersetzt. Weitere Informationen finden Sie unter Transformations-Editor für Suche (Seite „Erweitert“).
Neu
Erstellen Sie mithilfe des Dialogfelds Tabelle erstellen eine neue Tabelle.
Verwenden von Ergebnissen einer SQL-Abfrage
Wählen Sie diese Option aus, um nach einer vorhandenen Abfrage zu suchen, eine neue Abfrage zu erstellen, die Abfragesyntax zu überprüfen und eine Vorschau der Abfrageergebnisse anzuzeigen.
Abfrage erstellen
Erstellen Sie eine auszuführende Transact-SQL-Anweisung mit dem Abfrage-Generator, einem grafischen Tool, das verwendet wird, um Abfragen mithilfe des Durchsuchens von Daten zu erstellen.
Durchsuchen
Verwenden Sie diese Option, um nach einer vorhandenen Abfrage zu suchen, die als Datei gespeichert ist.
Abfrage analysieren
Überprüft die Syntax der Abfrage.
Vorschau
Zeigen Sie mithilfe des Dialogfelds Vorschau der Abfrageergebnisse anzeigen eine Vorschau der Ergebnisse an. Diese Option zeigt bis zu 200 Zeilen an.
Externe Ressourcen
Blogeintrag Lookup cache modes (Suchcachemodi) auf blogs.msdn.com
Transformations-Editor für Suche (Seite 'Spalten')
Auf der Seite Spalten des Dialogfelds Transformations-Editor für Suche können Sie den Join zwischen der Quell- und der Verweistabelle angeben sowie Suchspalten aus der Verweistabelle auswählen.
Tastatur
Verfügbare Eingabespalten
Zeigt die Liste der verfügbaren Eingabespalten an. Die Eingabespalten sind die Spalten im Datenfluss aus einer verbundenen Quelle. Die Datentypen der Eingabe- und Suchspalte müssen übereinstimmen.
Mithilfe eines Drag-und-Drop-Vorgangs können Sie verfügbare Eingabespalten bestimmten Suchspalten zuordnen.
Sie können auch mithilfe der Tastatur Eingabespalten bestimmten Suchspalten zuordnen. Dazu heben Sie eine Spalte in der Tabelle Verfügbare Eingabespalten hervor, drücken die Anwendungstaste und klicken dann auf Zuordnungen bearbeiten.
Verfügbare Suchspalten
Zeigt die Liste der Suchspalten an. Die Suchspalten sind Spalten in der Verweistabelle, in denen nach Werten gesucht werden soll, die mit den Eingabespalten übereinstimmen.
Mithilfe eines Drag-und-Drop-Vorgangs können Sie verfügbare Suchspalten bestimmten Eingabespalten zuordnen.
Wählen Sie mithilfe der Kontrollkästchen die Suchspalten in der Verweistabelle aus, für die die Suchvorgänge ausgeführt werden sollen.
Sie können auch mithilfe der Tastatur Suchspalten bestimmten Eingabespalten zuordnen. Dazu heben Sie eine Spalte in der Tabelle Verfügbare Suchspalten hervor, drücken die Anwendungstaste und klicken dann auf Zuordnungen bearbeiten.
Suchspalte
Zeigt die Liste der ausgewählten Suchspalten an. Die Auswahl wird entsprechend in der Auswahl der Kontrollkästchen in der Tabelle Verfügbare Suchspalten deutlich.
Suchvorgang
Wählen Sie in der Liste einen Suchvorgang aus, der für die Suchspalte ausgeführt werden soll.
Ausgabealias
Geben Sie einen Alias für die Ausgabe der einzelnen Suchspalten ein. Standardmäßig wird der Name der Suchspalte verwendet. Sie können jedoch auch einen beschreibenden Namen angeben, sofern dieser eindeutig ist.
Transformations-Editor für Suche (Seite 'Erweitert')
Auf der Seite Erweitert des Dialogfelds Transformations-Editor für Suche können Sie die teilweise Zwischenspeicherung konfigurieren und die SQL-Anweisung für die Suchtransformation ändern.
Tastatur
Cachegröße (32-Bit)
Passen Sie die Cachegröße (in Megabytes) für 32-Bit-Computer an. Der Standardwert ist 5 Megabytes.
Cachegröße (64-Bit)
Passen Sie die Cachegröße (in Megabytes) für 64-Bit-Computer an. Der Standardwert ist 5 Megabytes.
Cache für Zeilen ohne übereinstimmende Einträge aktivieren
Zeilen ohne übereinstimmende Einträge im Verweisdataset werden zwischengespeichert.
Zuordnung von Cache
Geben Sie den Prozentsatz des Caches an, der für Zeilen ohne übereinstimmende Einträge im Verweisdataset zugeordnet werden soll.
SQL-Anweisung ändern
Hiermit ändern Sie die zum Generieren des Verweisdatasets verwendete SQL-Anweisung.
Hinweis
Durch die auf dieser Seite angegebene optionale SQL-Anweisung wird der auf der Seite Verbindung im Transformations-Editor für Sucheangegebene Tabellenname überschrieben und ersetzt. Weitere Informationen finden Sie unter Transformations-Editor für Suche (Seite „Verbindung“).
Abfrageparameter festlegen
Ordnen Sie mithilfe des Dialogfelds Abfrageparameter festlegen die Eingabespalten den Parametern zu.
Externe Ressourcen
Blogeintrag Lookup cache modes (Suchcachemodi) auf blogs.msdn.com
Weitere Informationen
Transformation für Fuzzysuche
Transformation für Ausdruckssuche
Datenfluss
SQL Server Integration Services-Transformationen