Write to DB

Der „Write to DB“-Schritt schreibt die Ausgabe eines Datenflusses in eine Datenbank.

Anmerkung: Es lassen sich erhebliche Leistungsverbesserungen erzielen, wenn mehrere Laufzeitinstanzen von „Write to DB“ verwendet werden. Klicken Sie auf die Schaltfläche Laufzeit, um mehrere Laufzeitinstanzen anzugeben.

Registerkarte „Allgemein“

Name der Option

Beschreibung

Verbindung

Wählen Sie die Verbindung für die Datenbank aus, die Sie im Feld „Verbindung“ verwenden möchten. Klicken Sie auf Verwalten, um eine neue Datenbankverbindung herzustellen. Weitere Informationen zum Erstellen von Datenbankverbindungen finden Sie unter Datenbankverbindungs-Manager.

Tabelle/Ansicht

Geben Sie nach der Auswahl einer Verbindung die Tabelle oder Ansicht ein, in der geschrieben werden soll. Klicken Sie auf die Schaltfläche zum Durchsuchen ([...]), um zur gewünschten Tabelle oder Ansicht zu navigieren, oder klicken Sie auf Tabelle erstellen, um eine neue Tabelle in der Datenbank zu erstellen.

Anmerkung: Wenn Sie in eine SQL-Datenbank schreiben, können Sie nicht in Ansichten schreiben, die mehr als eine Tabelle referenzieren. Das liegt an einer Einschränkung von SQL Server.

Tabelle erstellen

Erstellt eine neue Tabelle in der ausgewählten Datenbank. Wählen Sie im Feld Tabellenbesitzer den Besitzer der Tabelle aus und geben Sie im Feld Tabellenname den Namen für die neue Tabelle an. Bei Tabellennamen wird die Groß-/Kleinschreibung beachtet. Geben Sie einen Primärschlüssel an. Aktivieren Sie dazu ein Kästchen in der Spalte Primärschlüssel. Geben Sie außerdem die Felder an, die Sie in die neue Tabelle schreiben möchten, indem Sie jeweils das zugehörige Kästchen in der Spalte Einschließen aktivieren. Die Spalte Breite gibt die Länge des Feldes für den Datentyp Zeichenfolge an. Der Standardwert ist 512. Falls die Spalte NULL zulassen aktiviert ist und die Eingabefelder einen Nullwert enthalten, schreibt der Datenfluss den Nullwert in die Datenbank. Beachten Sie, dass Sie den Spaltennamen bearbeiten können, indem Sie den Wert in der Spalte „Ausgabefelder“ ändern.

Die Schaltfläche Tabelle erstellen unterstützt die Tabellenerstellung in den folgenden Datenbanken:

  • Axion
  • DB2
  • Derby/Cloudscape
  • Firebird
  • HSQLDB
  • Interbase
  • MaxDB/SapDB
  • McKoi
  • MySQL
  • Oracle
  • PostgreSQL
  • SQL Server
  • Sybase
Anmerkung: Für DB2-Datenbanken gilt: Wenn Sie versuchen, eine Tabelle zu erstellen und die Seitengröße kleiner als die Gesamtlänge aller Zeichenfolgenspalten ist, erhalten Sie die Fehlermeldung „Fehler beim Erstellen von Text aus Inhalt. Serialisierbare Klasse nicht für Broker verfügbar.“

Schrittfelder

In der Spalte „Schrittfelder“ können Sie das Feld angeben, das Sie in das in der Spalte „Datenbankfeld“ angezeigte Datenbankfeld schreiben möchten.

Einschließen

Die Spalte „Einschließen“ ermöglicht Ihnen ebenfalls, die Felder auszuwählen, in die Sie schreiben möchten.

Anmerkung: Um schlechte Leistung zu verhindern, sollte ein sortierter Index oder Schlüssel in der Datenbanktabelle vorhanden sein.
Anmerkung: Der Write to DB-Schritt schreibt alle Werte des Datentyps date als String-Werte. Dieses Verhalten beruht auf dem von Spectrum verwendeten Standardtreiber, dem jTDS-Treiber. Um alle date-Datentypenwerte unverändert zu verarbeiten, verwenden Sie den JDBC-Treiber von Microsoft.

Datenbankverbindungs-Manager

Der Datenbankverbindungs-Manager ermöglicht Ihnen, registrierte Datenbankverbindungen zu verwalten. So können Sie Verbindungen hinzufügen, ändern, löschen und testen:

  1. Klicken Sie im Dialogfeld „Write to DB“-Optionen auf Verwalten.
  2. Klicken Sie auf Hinzufügen, Ändern oder Löschen.
  3. Wenn Sie eine Datenbankverbindung hinzufügen oder ändern, füllen Sie diese Felder aus:
    • Verbindungsname: Geben Sie den Namen der neuen Verbindung ein.
    • Datenbanktreiber: Wählen Sie den passenden Datenbanktyp aus.
    • Verbindungsoptionen: Geben Sie alle Optionen an, normalerweise Host, Port, Instanz, Benutzername und Kennwort.
    Anmerkung: Sie können die Verbindung per Klick auf Testen testen.
  4. Wenn Sie eine Datenbankverbindung löschen möchten, wählen Sie die gewünschte Verbindung aus und klicken Sie auf „Löschen“.

Registerkarte „Laufzeit“

Name der Option

Beschreibung

Schreibmodus

Gibt den Typ von Aktionen an, die beim Schreiben in die Datenbank ausgeführt werden sollen. Zur Auswahl stehen:

Einfügen
Fügt neue Datensätze in die Datenbank ein, aktualisiert aber keine vorhandenen Datensätze. Dies ist die Standardeinstellung.
Update
Aktualisiert vorhandene Datensätze in der Datenbank, fügt aber keine neuen Datensätze ein.
Anmerkung: Wenn Sie Aktualisieren auswählen, muss der Name der Primärschlüsselspalte in der Eingabetabelle dem Namen der Primärschlüsselspalte in der Ausgabetabelle entsprechen. Wenn Sie versuchen, eine Tabelle zu aktualisieren, bei der der Name der Primärschlüsselspalte nicht der Eingabe entspricht oder bei der die Primärschlüsselspalte nicht definiert ist, funktioniert die Aktualisierung nicht.
Einfügen, wenn Aktualisieren nicht möglich
Fügt neue Datensätze in die Datenbank ein, wenn der Datensatz nicht vorhanden ist, und aktualisiert andernfalls den vorhandenen Datensatz.

Übergabe als Batch

Wählen Sie diese Option aus, um Änderungen an die Datenbank zu übergeben, nachdem eine angegebene Anzahl von Datensätzen verarbeitet wurde. Standardmäßig ist diese Option nicht ausgewählt, was bedeutet, dass Änderungen sofort übergeben werden, nachdem ein jeder Datensatz verarbeitet wurde. Durch Auswahl dieser Option kann sich die Leistung des „Write to DB“-Schrittes erheblich verbessern.

Batchgröße

Wenn Sie die Option Übergabe als Batch aktivieren, geben Sie damit die Anzahl von Datensätzen an, die in jedem Batch an die Datenbank übergeben werden sollen. Der Standardwert ist 1.000. Bei mit Spectrum™ Technology Platform 7.0 und älter erstellten Datenflüssen ist der Standardwert 100.

Eine größere Batchgröße bietet nicht immer eine bessere Leistung beim Laden. Berücksichtigen Sie die folgenden Faktoren, wenn Sie eine Batchgröße wählen:

  • Dateneingangsrate für Schritt „Write to DB“: Wenn Daten mit einer geringeren Rate eingehen, als die Datenbank verarbeiten kann, erzielen Sie durch Ändern der Batchgröße keine Verbesserung der Datenflussgesamtleistung. So profitieren beispielsweise Datenflüsse mit Adressenüberprüfung oder Geocoding nicht von größeren Batches.
  • Netzwerkverkehr: Bei langsamen Netzwerken bewirkt eine Erhöhung der Batchgröße auf eine mittlere Größe (1.000 bis 10.000) eine bessere Leistung.
  • Lade- und/oder Verarbeitungsgeschwindigkeit der Datenbank: Bei Datenbanken mit hoher Verarbeitungsleistung sorgen größere Batches für bessere Leistung.
  • Mehrere Laufzeitinstanzen: Wenn Sie mehrere Laufzeitinstanzen des Schrittes „Write to DB“ verwenden, verursachen große Batches einen hohen Speicherverbrauch. Verwenden Sie daher eine kleine oder mittlere Batchgröße (100 bis 10.000).
  • Datenbank-Rollbacks: Immer, wenn eine Anweisung fehlschlägt, wird der vollständige Batch rückgängig gemacht. Je größer der Batch, desto länger dauert es, die Rollback-Operation auszuführen.
Am Ende übergeben Wählen Sie diese Option aus, um sicherzustellen, dass die Übergabeoperation für die Datenbank ausgeführt wird, nachdem alle Datensätze an die Datenbank übertragen wurden.
Anzahl zu übergebender Batches Geben Sie einen Wert an, bei dessen Erreichen die Datensätze übergeben werden sollen. Datensätze werden immer dann an die Datenbank übergeben, wenn (Anzahl zu übergebender Batches * Batchgröße) Datensätze an die Datenbank übertragen wurden. Beispiel: Wenn Batchgröße auf 1.000 und Anzahl zu übergebender Batches auf 3 gesetzt ist, erfolgt die Übergabe immer, nachdem 3.000 Datensätze an die Datenbank übertragen wurden.

Tabelle vor dem Einfügen von Daten abschneiden

Wählen Sie diese Option aus, wenn Sie vor dem Schreiben in die Datenbank alle Daten aus der Tabelle löschen möchten.

Tabelle löschen und neu erstellen, wenn sie bereits vorhanden ist

Wählen Sie diese Option aus, um die Tabelle vor dem Schreiben der Ausgabe des Datenflusses in die Tabelle zu löschen und erneut zu erstellen. Diese Option ist nützlich, wenn Sie möchten, dass das Schema der Tabelle mit den Feldern aus dem Datenfluss übereinstimmt und keine fremden Schemadaten enthält.

Die Tabelle, die gelöscht und erneut erstellt wird, ist die Tabelle, die im Feld Tabelle/Ansicht auf der Registerkarte Allgemein angegeben ist. Beispiel: Wenn Sie die Tabelle „Customers“ im Feld Tabelle/Ansicht angeben und Tabelle löschen und neu erstellen, wenn sie bereits vorhanden ist auswählen, wird die Tabelle „Customers“ aus der Datenbank gelöscht und eine neue Tabelle namens „Customers“ erstellt – mit einem Schema, das genau den in die Tabelle geschriebenen Feldern entspricht.