FlowHeater Demo Video
 
FlowHeater - The Data Import / Export Specialist
 
Willkommen, Gast
Benutzername: Passwort: Angemeldet bleiben:
  • Seite:
  • 1

THEMA: spaltenweise Datenbankkopie ohne Primary-Key

spaltenweise Datenbankkopie ohne Primary-Key 2 Wochen 1 Tag her #3606

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 oder Registrieren um der Konversation beizutreten.

spaltenweise Datenbankkopie ohne Primary-Key 2 Wochen 19 Stunden her #3608

  • FlowHeater-Team
  • FlowHeater-Teams Avatar
  • Offline
  • Beiträge: 1346
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 oder Registrieren um der Konversation beizutreten.

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.
  • Seite:
  • 1

andere Sprachen

en

FlowHeater Home

de en

Impressum/Kontakt

Datenschutz

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

Follow us on

twitter  facebook

YouTube

 de en