Skip to main content
Weil einfach - produktiver ist

Der Daten Spezialist

Konvertieren Sie die Daten mühelos zwischen verschiedenen Formaten ohne Programmierkenntnisse dank Visual Designer. Effizient und super einfach.
Flowheater Download

spaltenweise Datenbankkopie ohne Primary-Key

Mehr
5 Jahre 3 Monate her #3606 von Flo
Hallo und ein gesundes NEUES JAHR an Alle,

aufgrund eines ODBC-Treiberproblem (hat nix mit Flowheater zu tun!) bin ich leider zur Lösung auf der Suche nach nutzbaren "Umwegen".
Da ich hier jedoch gedanklich auf dem Schlauch stehe und ein Datenkaos vermeiden möchte, hat vielleicht jemand einen Ansatz um mit FlowHeater eine Lösung zu bekommen.

Situation: READ_DB = ODBC (buggy!); WRITE_DB=mySQL; Datenbankaufbau und Inhalt der DB_in -> DB_out soll 1 zu 1 sein; aktuelle FlowHeater (beta)

Da der READ_Datenbanktreiber teils beim gleichzeitig Einlesen von mehreren Spalten mittels einer Definition abstürzt, benötigt man teils für jede Spalte eine Definition (soweit so "gut").
Hierdurch ergibt sich bei den Daten der READ_DB das Problem, dass für ein UPDATE der WRITE_DB kein Primary-Key zum Zuordnen der Spaltenwerte aus der READ_DB genutzt werden kann. Nun suche ich nach einer Möglichkeit die READ_DB je Spalte Zeilenweise in einer neuen DB wieder "aufzubauen". Meine Fragen wären nun, ob man bei einem 1zu1 Datentransfer von ODBC nach mySQL jede Spalte Zeilenweise nach und nach wieder in einer neuen Datenbank aufbauen kann. 

Ich stelle mir das ähnlich eines spaltenweisen Kopierens der zugehörigen Spalten-Zellen von einer Excel-Datei in eine neue vor.
Im Datenbankumfeld stecke ich aber leider gerade ohne Primary-Key fest.
Vorab schon einmal vielen Dank für eine Rückmeldung und möglichen Tip.

Viele Grüße,
Florian

Bitte Anmelden um der Konversation beizutreten.

Mehr
5 Jahre 3 Monate her #3608 von FlowHeater-Team
FlowHeater-Team antwortete auf spaltenweise Datenbankkopie ohne Primary-Key
Hallo Florian,

das würde über eine zusätzliche „temporäre“ Spalte in der WRITE MySQL Server Datenbank funktionieren. Alternativ dazu könnte das auch mit der aktuellen Beta mit dem hier vorhandenen InMemory Tabellen relativ einfach, ohne Tabellenänderung, durchgeführt werden. Im Anhang finden Sie ein Beispiel dazu.

Generelle Vorgehensweise
Im ersten Schritt das erste Feld der ODBC Datenbank mit dem korrespondierenden Feld der MySQL Datenbank verbinden. Zusätzlich einen AutoID Heater verwenden und diesen mit dem Temporären Feld verbinden. Auf der WRITE Seite den MySQL Adapter so konfigurieren, dass nur INSERT durchgeführt werden.

Im zweiten (und weiteren) Steps jeweils das nächste Feld sowie den AutoID Heater mit der WRITE Seite Verbinden. Hier jedoch den MySQL Adapter nun so konfigurieren, dass nur UPDATES durchgeführt werden. In den Feldeigenschaften müssen die das „Temporäre“ Feld für den AutoID Heater als „Schlüsselfeld“ (Primary Key) für Updates konfigurieren. Falls ein anderer Primary Key auf der Tabelle vorhanden sein hier diesen einfach deaktivieren. So aktualisiert der MySQL Adapter jeden Datensatz der WRITE Seite mit den 1:1 Werten der READ Seite.

Wichtig ist aber, dass während des Datenabgleiches keine weiteren Datensätze hinzukommen und die ODBC Datenquelle immer in der gleichen
Reihenfolge vorhanden ist. Am besten hier auf der READ Seite noch einen ORDER BY an das „default“ SELECT Statement dranhängen.

z.B. SELECT* from IHRE-Tabelle ORDER BY Feld1
 
PS: Das Probleme mit der ODBC Datenquelle „schreit“ aber nacheinem inkompatiblen ODBC Treiber Problem. Versuchen Sie mal die gleiche ODBC
Treiber Version die zur ODBC Datenbank passt zu installieren.
 
1. Step nur Inserts durchführen


2. Step (und weitere) nur Updates durchführen


2. Step (und weitere) Schlüsselfeld (Primary Key) auswählen


Dateianhang:

Dateiname: inmemoryad...piel.zip
Dateigröße:3 KB


BetaVersion Download
FlowHeaterBeta 32 Bit
FlowHeaterBeta 64 Bit
FlowHeaterServer Beta

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.

Bitte Anmelden um der Konversation beizutreten.

Ladezeit der Seite: 0.462 Sekunden

FlowHeater - Der Daten Spezialist

Effiziente Datenintegration und Transformation mit FlowHeater - Ihre Lösung für nahtlosen Datentransfer.

Rechtliches

Support & Kontakt

Kontaktinformation

Telefon:
0951 / 99339792

E-Mail:
Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein.


Copyright © 2009-2024 by FlowHeater GmbH. Alle Rechte vorbehalten.