Freigeben über


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 Gleichheitsjin 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 unter Transformations-Editor für Suche (Seite 'Allgemein') und Transformations-Editor für Suche (Seite 'Fehlerausgabe').

  • 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.

    HinweisHinweis

    In SQL Server 2005 Integration Services (SSIS) hatte die Transformation für Suche nur eine Ausgabe. Weitere Informationen zum Ausführen einer in SQL Server 2005 erstellten Transformation für Suche finden Sie unter Aktualisieren von Transformationen für Suche.

  • 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) beibehalten.

Wenn Sie den Cache in einer Datei beibehalten, 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 Beibehaltung des Caches in einer Datei:

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.

Problembehandlung der Transformation für Suche

Für eine Transformation für Suche, die so konfiguriert wurde, dass kein Verweisdataset in den Cache geladen wird, wird ein Fehler gemeldet, wenn ein Suchvorgang Spalten vergleicht, die NULL-Werte einschließen. Aktualisieren Sie die SQL-Anweisung manuell, und schließen Sie eine OR ISNULL(ColumnName)-Bedingung ein, um diesen Fehler zu vermeiden. Wenn eine Transformation für Suche so konfiguriert ist, dass das Verweisdataset in den Cache geladen wird, bevor die Transformation für Suche ausgeführt wird, wird der Suchvorgang erfolgreich ausgeführt.

HinweisHinweis

Verwenden Sie möglichst keine Spalten, die möglicherweise NULL-Werte in Suchvorgängen enthalten. Falls eine Spalte NULL-Werte enthält, konfigurieren Sie für die Transformation für die Suche die Verwendung einer Fehlerausgabe, die Zeilen ohne übereinstimmende Zeilen in der Verweistabelle an eine separate Transformationsausgabe weiterleitet. Alternativ können Sie die vollständige Zwischenspeicherung verwenden, die Suchvorgänge für NULL-Werte unterstützt.

Sie können die von der Transformation für Suche an externe Datenanbieter gerichteten Aufrufe protokollieren. Mithilfe dieser Protokollierungsfunktion können Sie Probleme beim Auffüllen des Caches aus externen Datenquellen durch die Transformation für Suche behandeln. Aktivieren Sie zum Protokollieren der von der Transformation für Suche an externe Datenanbieter gerichteten Aufrufe die Paketprotokollierung, und wählen Sie das Diagnostic-Ereignis auf Paketebene aus. Weitere Informationen finden Sie unter Paketausführung (Problembehandlung).

Konfigurieren der Transformation für die Suche

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

Klicken Sie auf eines der folgenden Themen, um weitere Informationen zu den Eigenschaften zu erhalten, die Sie im Dialogfeld Transformations-Editor für Suche festlegen können:

Klicken Sie auf eines der folgenden Themen, um weitere Informationen zu den zusätzlichen Eigenschaften zu erhalten, die Sie festlegen können:

Klicken Sie auf eines der folgenden Themen, um weitere Informationen zum Festlegen von Eigenschaften anzuzeigen:

Externe Ressourcen

Integration Services (kleines Symbol) Bleiben Sie mit Integration Services auf dem neuesten Stand

Die neuesten Downloads, Artikel, Beispiele und Videos von Microsoft sowie ausgewählte Lösungen aus der Community finden Sie auf der Integration Services-Seite von MSDN oder TechNet:

Abonnieren Sie die auf der Seite verfügbaren RSS-Newsfeeds, um automatische Benachrichtigungen zu diesen Aktualisierungen zu erhalten.