Dynamischer Daten Import / Export

datenbank

weil Einfach - produktiver ist
Mit der Freeware Version können bis zu 10.000 Datensätze verarbeitet werden!
Willkommen, Gast
Benutzername: Passwort: Angemeldet bleiben:
Willkommen im FlowHeater Support Forum!

Hier werden Fragen zum Umgang mit dem FlowHeater beantwortet.

THEMA: SQL-ServerUpdate funktioniert nicht, wenn alle Spalten im PK

SQL-ServerUpdate funktioniert nicht, wenn alle Spalten im PK 5 Jahre 4 Monate her #529

  • Claus Mayer
  • Claus Mayers Avatar
  • Offline
  • New Member
  • Beiträge: 4
Hallo Herr Stark,

ich nutze seit einigen Wochen FlowHeater und es funktioniert prima.
Nun folgendes Problem:
Beim Import (write-Seite) in eine SQL-Server Tabelle, in der alle Spalten zum PK gehören, werden keine Update-Statements erzeugt.
Die Fehlermeldung lautet:
Die Update Anweisung hat keine Daten generiert! Ziehen Sie min. ein gefülltes Feld auf die WRITE Seite.

update dbo.[ArtNumbers]
Natürlich sind alle Entitäten richtig verbunden.

Was mache ich falsch?
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Aw: SQL-ServerUpdate funktioniert nicht, wenn alle Spalten im PK 5 Jahre 4 Monate her #530

  • FlowHeater-Team
  • FlowHeater-Teams Avatar
  • Offline
  • Administrator
  • Beiträge: 1099
Hallo Herr Mayer,

das geht so leider nicht. Das Problem dabei ist, dass der FlowHeater in diesem Fall die ursprünglichen Werte des Primary Key nicht mehr hat!

Nehmen wir an Sie haben zwei Felder auf der READ Seite
F1 = 1000
F2 = 2000

Diesen (Primary Key) Wert möchten Sie auf der WRITE Seite Updaten z.B.
F1 = 4000
F2 = 5000

Der FlowHeater kennt auf der Write Seite nur noch die neuen Werte und hat somit keinen Bezug mehr zum ursprünglichen Datensatz!

Workaround:
Fügen Sie Ihrer Tabelle ein neues Feld hinzu Typ Varchar, Länge mind. so lang dass alle Primary Key Felder zu String umgewandelt hineinpassen.

Nun erstellen Sie im ersten Schritt eine Definition die in dieser Tabelle das neue Feld mit den Primary Key Information füllt/aktualisiert. Verwenden Sie dazu den String Append Heater und ziehen alle Primary Key Felder in der Reihenfolge der Tabelle darauf. Der String Append Heater erzeugt daraus dann eine Zeichenfolge in etwa so

1000#2000#.... Weiter Felder des PrimrayKeys

Wenn Sie die Definition laufen lassen haben Sie in diesem Feld Ihre originalen Primary Key Daten. Hierüber können Sie nun eine zweite Definition, die die eigentlichen Primary Key Felder aktualisiert, laufen lassen.

Erstellen Sie dazu eine neue Definition. Nach dem Tabellen Schema auslesen ändern Sie die Primary Key Definition im FlowHeater. Klicken Sie dazu auf das Feld im Configurator und entfernen pro Feld jeweils den Hacken für Primary Key. Setzen Sie den Hacken nur für das neu hinzugefügte Feld. Die Tabelle wird jetzt anhand dieses Feldes aktualisiert.

Den Wert für den Primary Key müssen Sie nun wieder mit dem String Append Heater erzeugen. Die anderen (ursprünglichen Primary Key) Werte können Sie nun mit Ihren neuen Werten aktualisieren.

Der FlowHeater erzeugt nun so einen SQL Befehl
Update IHRE_TABELLE set F1 = 4000, F2 = 5000 WHERE NEUES_FELD = '1000#2000'
gruß
Robert Stark

Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
Der Administrator hat öffentliche Schreibrechte deaktiviert.
Moderatoren: FlowHeater-Team
Ladezeit der Seite: 0.075 Sekunden