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: Export/Import in mehrere Tabellen SQL-Server

Export/Import in mehrere Tabellen SQL-Server 1 Jahr 11 Monate her #1808

  • Brenz, Michael
  • Brenz, Michaels Avatar
  • Offline
  • New Member
  • Beiträge: 3
Hallo Support...

Ich arbeite mit einer SQL-Server-DB, die mehrere Tabellen enthält. Die Haupttabelle umfasst Personen mit Name, Geschlecht, Geb-Datum etc. in weiteren Tabellenspalten sind wiederum ID´s hinterlegt, die in weitere Tabellen verweisen, z.b. Tabelle Wohnort, Tabelle Verein, etc. Nun würde ich mir gerne einen Export schreiben, der als Ergebnis eine CSV-Datei oder auch Excel-Datei zur Folge hat, wo alle Daten im Klartext drin stehen. z.b. Name, Geschlecht, Wohnort, Verein etc.
Im Umkehrschluß benötige ich einen zweiten Adapter, der umgekehrt funktioniert, um so in einem Import, csv-Daten, die aus einer Online-Anmeldung stammen wiederum in mehrere Tabellen zu verteilen...

Ich hoffe ich habe mich halbwegs verständlich ausgedrückt. Gerne liefere ich bei bedarf auch ein paar Screenshots...

mfg Micha Brenz
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Export/Import in mehrere Tabellen SQL-Server 1 Jahr 11 Monate her #1809

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

der Export von mehreren SQL Server Tabellen in eine CSV Textdatei ist relativ einfach. Hierzu müssen Sie lediglich das SQL SELECT Statement auf der READ Seite anpassen und die weiteren Tabellen über einen JOIN miteinander verknüpfen.

Beispiel SQL Select Statement

select p .name, p .gebdat, w.wohnort, v.verein
from t_person as p
inner join t_wohnort as w on p.wohnortid = w.id
inner join t_verein as v on p.vereinid = v.id
‚ evtl. weitere SQL Server Tabellen
order by p.name

So verknüpft der SQL Server die Tabellen miteinander und liefert die richtige Ergebnismenge zurück.

Der Import ist deutlich komplizierter es gibt hierzu mehrere Möglichkeiten. Am einfachsten geht es über mehrere Definitionen die nacheinander ausgeführt werden.

Sie benötigen für jede SQL Server ID Tabelle eine separate Import Definition.

z.B.
  1. eine Import Definition die über die CSV Datei geht und lediglich nicht vorhandene Wohnorte in der Tabelle Wohnorte einfügt.

  2. eine Import Definition die über die CSV Datei geht und lediglich nicht vorhandene Vereine in der Tabelle Vereine anfügt.

  3. evtl. weitere Import Definitionen für weitere SQL Server ID Tabellen.

Wenn Sie in diesen Import Definitionen die Option „Daten anfügen (Insert)“ sowie „Vorhandene Datensätze ignorieren“ aktivieren und dann noch den Ausgelesenen Primary Key von der AutoWert (ID Spalte) auf z.B. den Wohnort oder Vereinsnamen legen, prüft der FlowHeater automatisch anhand dieses Wertes ob ein passender Datensatz bereits existiert und fügt nur einen neuen Datensatz an wenn der Wert noch nicht vorhanden ist. Weitere Informationen dazu finden Sie hier: Import CSV Textfile zu MSSQL vorhandene Datensätze überspringen

Zum Schluss benötigen Sie noch Ihre eigentliche CSV Datenimport Definition. Um die ID Werte zu holen benötigen Sie für jede ID Spalte (Wohnort, Verein, …) einen SQL Heater über den Sie einen Daten Lookup abbilden.

Beispiel ID Lookup SQL Statement
select id from t_verein where verein = ‚$VEREIN_AUS_CSV$‘

der Parameter$VEREIN_AUS_CSV$“ muss dazu vorher mittels des Set Parameter Heaters gesetzt werden. Im Anhang finden Sie ein Beispiel dazu inkl. einer Access Datenbank.



Hinweis: Die einzelnen Daten Import Definitionen können mittels des Batch Moduls und eines kleines CMD Skripts automatisiert hintereinander ausgeführt werden.

Beispiel Batch CMD Skript

@echo off
FHBatch.exe CSV-Abgleich-Wohnorte.fhd
FHBatch.exe CSV-Abgleich-Vereine.fhd
FHBatch.exe CSV-Import-Personen.fhd

Ein genaueres Beispiel finden Sie hier: Automatisierter Batch CSV Import mit MS Access


Dateianhang:

Dateiname: csv-import...llen.zip
Dateigröße:14 KB
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.
Letzte Änderung: 1 Jahr 11 Monate her von FlowHeater-Team.
Der Administrator hat öffentliche Schreibrechte deaktiviert.
Moderatoren: FlowHeater-Team
Ladezeit der Seite: 0.081 Sekunden