Freigeben über


Transformation zum Suchen

Aktualisiert: 12. Dezember 2006

Die Transformation für die Suche führt Suchvorgänge aus, indem Daten in Eingabespalten mit Spalten in einem Verweisdataset verknüpft werden. Bei dem Verweisdataset kann es sich um eine vorhandene Tabelle oder Sicht, eine neue Tabelle oder das Ergebnis einer SQL-Anweisung handeln. Die Transformation für die Suche stellt mithilfe eines OLE DB-Verbindungs-Managers eine Verbindung mit der Datenbank her, die die Daten enthält, die als Quelle des Verweisdatasets dienen. Weitere Informationen finden Sie unter OLE DB-Verbindungs-Manager.

Es gibt folgende Möglichkeiten, um die Transformation für die Suche zu konfigurieren:

  • Geben Sie die Tabelle oder Sicht an, die das Verweisdataset enthält.
  • Generieren Sie eine Verweistabelle, indem Sie eine SQL-Anweisung angeben.
  • Geben Sie Verknüpfungen zwischen der Eingabe und dem Verweisdataset an.
  • Fügen Sie der Transformationsausgabe Spalten aus dem Verweisdataset hinzu.
  • Geben Sie mithilfe einer SQL-Anweisung für das Zwischenspeichern an, dass das Verweisdataset vollständig oder teilweise zwischengespeichert wird, um die Leistung zu verbessern.
  • Ordnen Sie Parameter in einer SQL-Anweisung für das Zwischenspeichern Eingabespalten zu.
  • Geben Sie an, wie viele MB Arbeitsspeicher die Transformation in 32-Bit- und 64-Bit-Umgebungen verwenden kann. Die 32-Bit-Umgebung erzwingt eine Grenze von 3072 MB, während dies bei der 64-Bit-Umgebung nicht der Fall ist.

Die Transformation für die Suche führt eine Gleichheitsverknüpfung zwischen Werten in der Transformationseingabe und Werten im Verweisdataset aus. Das Verwenden einer Gleichheitsverknüpfung bedeutet, dass jede Zeile in der Transformationseingabe mit mindestens einer Zeile aus dem Verweisdataset übereinstimmen muss. Falls im Verweisdataset kein entsprechender Eintrag vorhanden ist, wird keine Verknüpfung ausgeführt, und es werden keine Werte vom Verweisdataset zurückgegeben. Dies ist ein Fehler, und die Transformation wird nicht ausgeführt, es sei denn die Transformation ist so konfiguriert, dass Fehler ignoriert oder Fehlerzeilen an die Fehlerausgabe weitergeleitet werden. Sind in der Verweistabelle mehrere entsprechende Einträge vorhanden, gibt die Suche nur den ersten übereinstimmenden Eintrag auf Basis der Suchabfrage zurück. Wenn mehrere übereinstimmende Einträge gefunden werden, wird kein Fehler bzw. keine Warnung generiert, es sei denn, die Transformation für die Suche ist für die Verwendung der vollständigen Zwischenspeicherung konfiguriert. Wird die vollständige Zwischenspeicherung verwendet, wird beim Erkennen mehrerer Übereinstimmungen eine Warnung generiert, wenn der Zwischenspeicher gefüllt ist.

Die Verknüpfung kann eine zusammengesetzte Verknüpfung sein. Das bedeutet, dass Sie mehrere Spalten in der Transformationseingabe mit Spalten im Verweisdataset verknüpfen können. Die Transformation unterstützt Verknüpfungsspalten eines beliebigen Datentyps, außer DT_R4, DT_R8, DT_TEXT, DT_NTEXT oder DT_IMAGE. Weitere Informationen finden Sie unter SQL Server 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 zum Zuordnen der Zeichen 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).

Fehler bei der Suche können Sie auch vermeiden, wenn Sie keine Zwischenspeicherung verwenden und keine Daten aus einer Datenbank lesen, bei der nicht nach Groß-/Kleinschreibung unterschieden wird.

Diese Transformation weist eine Eingabe, eine reguläre Ausgabe und eine Fehlerausgabe auf.

Zwischenspeicherungstypen

Es gibt die folgenden Möglichkeiten, um Arbeitsspeicher für ein Verweisdataset zuzuordnen:

  • Vollständige Vorzwischenspeicherung, wobei vor der Verarbeitung der Eingabe das vollständige Verweisdataset gelesen wird. Dies ist der Standardtyp der Zwischenspeicherung. Wenn Sie eine Transformation für die Suche so konfigurieren möchten, dass eine vollständige Zwischenspeicherung verwendet wird, müssen alle Optionen auf der Registerkarte Erweitert des Transformations-Editors für die Suche deaktiviert sein.
  • Teilweise Zwischenspeicherung, wobei mit der Transformation für die Suche die Größe des Caches angegeben wird, in den Verweisdaten geladen werden. Diese Option ist nur bei Verbindungen, die den verschlüsselten Zugriff unterstützen, verfügbar. Wenn Sie eine Transformation für die Suche so konfigurieren möchten, dass die teilweise Zwischenspeicherung verwendet wird, wählen Sie auf der Registerkarte Erweitert des Transformations-Editors für die SucheArbeitsspeichereinschränkung aktivieren aus, und wählen Sie dann Zwischenspeichern aktivieren oder SQL-Anweisung ändern oder beide Optionen **** gleichzeitig aus.
  • Keine Zwischenspeicherung, wobei jede Zeile im Rowset auf das Verweisdataset zugreift. Wenn Sie eine Transformation für die Suche ohne Zwischenspeicherung konfigurieren möchten, wählen Sie auf der Registerkarte Erweitert des Transformations-Editors für die Suche Arbeitsspeichereinschränkung aktivieren aus, und deaktivieren Sie alle anderen Optionen.

Weitere Informationen zur Registerkarte Erweitert finden Sie unter Transformations-Editor für Suche (Registerkarte Erweitert).

Für eine Transformation für die Suche, für die die teilweise oder keine Zwischenspeicherung konfiguriert wurde, wird ein Fehler gemeldet, wenn ein Suchvorgang Spalten vergleicht, die keine NULL-Werte einschließen. Dies gilt nicht, wenn Sie die SQL-Anweisung manuell aktualisieren und eine OR ISNULL(ColumnName)-Bedingung hinzufügen. Wird die vollständige Zwischenspeicherung verwendet, wird der Suchvorgang erfolgreich ausgeführt.

ms141821.note(de-de,SQL.90).gifHinweis:
Verwenden Sie möglichst keine Spalten, die 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.

Integration Services und SQL Server unterscheiden sich in der Art des Zeichenfolgenvergleichs. Wenn die Transformation für die Suche für die Verwendung der vollständigen Zwischenspeicherung konfiguriert ist, 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 die Suche je nach Cachetyp möglicherweise eine unterschiedliche Anzahl von Übereinstimmungen aus der gleichen Suchtabelle zurückgibt.

SQL-Anweisung für das Zwischenspeichern

Für die Transformation für die Suche kann die Verwendung einer SQL-Anweisung für das Zwischenspeichern konfiguriert werden. Die SQL-Anweisung kann eine Teilmenge des Verweisdatasets auswählen, wodurch dessen Größe eingeschränkt wird. Falls das Verweisdataset sehr umfangreich ist, wird durch die Verwendung einer SQL-Anweisung für das Zwischenspeichern der vom Verweisdataset verwendete Arbeitsspeicher eingeschränkt.

Die SQL-Anweisung für das Zwischenspeichern kann Werte oder Parameter in der WHERE-Klausel verwenden. Die Parameter werden Eingabespalten zugeordnet und werden zur Laufzeit von Werten in den Eingabespalten aktualisiert.

Problembehandlung der Transformation für Suche

Seit Microsoft SQL Server 2005 Service Pack 2 (SP2) können Sie die von der Transformation für Suche an externe Datenprovider gerichteten Aufrufe protokollieren. Mithilfe dieser neuen Protokollierungsfunktionen 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 einen externen Datenprovider 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:

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:

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

Siehe auch

Konzepte

Transformation für Fuzzysuche
Transformation für Ausdruckssuche
Erstellen eines Paketdatenflusses
SQL Server Integration Services-Transformationen

Hilfe und Informationen

Informationsquellen für SQL Server 2005

Änderungsverlauf

Version Verlauf

12. Dezember 2006

Neuer Inhalt:
  • Es wurden Informationen dazu hinzugefügt, wie mithilfe der Benutzeroberfläche unterschiedliche Cachetypen aktiviert werden können.
  • Es wurden Informationen hinzugefügt, dass SQL Server 2005 SP2 neue Meldungen für die Protokollierung enthält, mit denen Benutzer Probleme bei Aufrufen behandeln können, die von der Transformation an externe Datenprovider gerichtet werden.

14. April 2006

Neuer Inhalt:
  • Die Fähigkeit zur Angabe von Cachegrößen für 32-Bit- und 64-Bit-Umgebungen wurde beschrieben.
  • Informationen zu den Auswirkungen der Verwendung unterschiedlicher Cachetypen wurden hinzugefügt.

05. Dezember 2005

Geänderter Inhalt:
  • Das Übereinstimmungsverhalten wurde verdeutlicht.