Transformation für Suche
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 Verweisdataset kann eine Cachedatei, eine vorhandene Tabelle oder Sicht, 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 Verweisdataset, 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. Weitere Informationen finden Sie im Nachschlagetransformations-Editor (Allgemeine Seite) und im Nachschlagetransformations-Editor (Fehlerausgabeseite).
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.
Hinweis
In SQL Server 2005 Integration Services (SSIS) hatte die Nachschlagetransformation nur eine Ausgabe. Weitere Informationen zum Ausführen einer Nachschlagetransformation, die in SQL Server 2005 erstellt wurde, finden Sie unter Upgrade Lookup Transformations.
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.
Beispiel Transformation für Sucheauf msftisprodsamples.codeplex.com.
Informationen zum Installieren von Integration Services-Produktbeispielen und Beispieldatenbanken finden Sie unter SQL Server Integration Services-Produktbeispiele.
Weitere Informationen
Transformation für Fuzzysuche
Transformation für Ausdruckssuche
Datenfluss
SQL Server Integration Services-Transformationen