Import/Insert in Tables aus CSV
Moderator: Moderatoren
- Manfred
- Foren-Administrator
- Beiträge: 21200
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
Import/Insert in Tables aus CSV
Es soll zwar mit dem ADS gemacht werden, aber ich frage es mal hier nach. Wie muß/kann man Daten in eine SQl Tabelle importieren/anfügen, die aus einer CSV Datei kommen? Wie macht man dem Server klar, welche Spalte wo rein muß und wie?
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
- Klaus Schuster
- Foren-Administrator
- Beiträge: 369
- Registriert: Do, 24. Jan 2008 10:01
- Wohnort: 90762 Fürth
- Hat sich bedankt: 9 Mal
- Danksagung erhalten: 9 Mal
Re: Import/Insert in Tables aus CSV
Wandle sie doch einfach in eine Datei mit INSERT-Anweisungen um.
Gruß Klaus
- Manfred
- Foren-Administrator
- Beiträge: 21200
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
Re: Import/Insert in Tables aus CSV
HI Klaus,
wie immer, als ich den Beitrag hier eröffnet hatte und kurz durch die Wohnung spazierte, fiel mir Dein Vorschlag auch ein. Die CSV Datei zeilenweise einlesen und dann Spalte für Spalte mit einem Insert oder Update versehen, so wie gewünscht. Vorher evtl. noch den Header auslesen um die Überschriften zu bekommen. Ich hatte sowas schonmal vor einigen Jahren für eine Befütterung eines SQL Servers gemacht.
Ich dachte nur, es gibt evtl einen Befehl dafür, der das einfacher ermöglichen würde.
wie immer, als ich den Beitrag hier eröffnet hatte und kurz durch die Wohnung spazierte, fiel mir Dein Vorschlag auch ein. Die CSV Datei zeilenweise einlesen und dann Spalte für Spalte mit einem Insert oder Update versehen, so wie gewünscht. Vorher evtl. noch den Header auslesen um die Überschriften zu bekommen. Ich hatte sowas schonmal vor einigen Jahren für eine Befütterung eines SQL Servers gemacht.
Ich dachte nur, es gibt evtl einen Befehl dafür, der das einfacher ermöglichen würde.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
- HaPe
- 1000 working lines a day
- Beiträge: 996
- Registriert: So, 15. Nov 2015 17:44
- Wohnort: 71665 Vaihingen-Enz
- Hat sich bedankt: 17 Mal
- Danksagung erhalten: 15 Mal
Re: Import/Insert in Tables aus CSV
Hallo Manfred !
Ich habe auf die Schnelle keinen Link für den ADS direkt gefunden, aber das Stichwort heißt hier BULK INSERT.
Das gibt es beim PostGreSQL, $MS-SQL-Server, MySql, ...
Ich habe auf die Schnelle keinen Link für den ADS direkt gefunden, aber das Stichwort heißt hier BULK INSERT.
Das gibt es beim PostGreSQL, $MS-SQL-Server, MySql, ...
--
Hans-Peter
Hans-Peter
- Manfred
- Foren-Administrator
- Beiträge: 21200
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
Re: Import/Insert in Tables aus CSV
Hi HaPe,
das hatte ich auch irgendwo im I-Net gefunden, dachte aber auf einen kurzen Blick das wäre eine Zusatzsoftware. Habe ich mich wohl vertan....
das hatte ich auch irgendwo im I-Net gefunden, dachte aber auf einen kurzen Blick das wäre eine Zusatzsoftware. Habe ich mich wohl vertan....
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
- nightcrawler
- 1000 working lines a day
- Beiträge: 651
- Registriert: Di, 24. Apr 2012 16:33
- Wohnort: 72184 Weitingen
- Hat sich bedankt: 3 Mal
- Danksagung erhalten: 96 Mal
- Kontaktdaten:
Re: Import/Insert in Tables aus CSV
Ist zwar Delphi, aber vielleicht hilft dir das.
https://www.jd-engineering.de/load-csv- ... advantage/
https://www.jd-engineering.de/load-csv- ... advantage/
- Manfred
- Foren-Administrator
- Beiträge: 21200
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
Re: Import/Insert in Tables aus CSV
ok, ich werde dann die CSV Datei zeilenweise auslesen.
Aber wie geht man unter dem ADS vor, wenn man ein Update machen will auf die SLQ Tabelle, wenn der Satz vorhanden ist, und wenn nicht dann ein INSERT?
Es gibt ein IIF(), aber irgendwas mache ich da wohl falsch.
Aber wie geht man unter dem ADS vor, wenn man ein Update machen will auf die SLQ Tabelle, wenn der Satz vorhanden ist, und wenn nicht dann ein INSERT?
Es gibt ein IIF(), aber irgendwas mache ich da wohl falsch.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
- Marcus Herz
- 1000 working lines a day
- Beiträge: 852
- Registriert: Mo, 16. Jan 2006 8:13
- Wohnort: Allgäu
- Hat sich bedankt: 39 Mal
- Danksagung erhalten: 192 Mal
- Kontaktdaten:
Re: Import/Insert in Tables aus CSV
Merge ist das was du brauchst:
siehe auch Hilfe
Code: Alles auswählen
merge <table>
on key1 = <VAL1> and key2 = <VAL2>..... // Key definiiton
when not matched then insert (<fiieldlist) values(<valueslist>)
when matched then update set field1 = <VAL1>, ....
Gruß Marcus
Erkenne, was du findest, dann weißt du, wonach du gesucht hast
Erkenne, was du findest, dann weißt du, wonach du gesucht hast
- nightcrawler
- 1000 working lines a day
- Beiträge: 651
- Registriert: Di, 24. Apr 2012 16:33
- Wohnort: 72184 Weitingen
- Hat sich bedankt: 3 Mal
- Danksagung erhalten: 96 Mal
- Kontaktdaten:
Re: Import/Insert in Tables aus CSV
bei einem Import würde ich immer über eine Zwischentabelle gehen. Wenn der Import dann geklappt hat, wie von Marcus vorgeschlagen über MERGE in die richtige Tabelle übertragen. Falls etwas schiefgeht, ist zumindest die DB nicht versaut.
Temp-Tabelle mit derselben Struktur wie das original erstellen:
Temp-Tabelle mit derselben Struktur wie das original erstellen:
Code: Alles auswählen
SELECT * INTO #anytempname FROM anysource WHERE 1=0;