Seite 1 von 2

[Gelöst] Problem beim Einlsesen von csv-Daten

Verfasst: Mo 28. Mär 2016, 13:56
von Grafino
Hi zusammen,

ich will Daten aus einer csv-Tabelle in eine Basetabelle einfügen. Versucht habe ich es mit den Befehlen:
INSERT INTO "Reporttbl" SOURCE report.csv;encoding;UTF-8;

Fehlermeldung: Unexpected token: SOURCE in statement [INSERT INTO "Reporttbl" SOURCE]

INSERT INTO Reporttbl FROM report.csv;encoding;UTF-8;

Fehlermeldung: Unexpected token: FROM in statement [INSERT INTO "Reporttbl" FROM]

Ich weiss gerade nicht, wo ich hänge und brauche Hilfe :oops:

Re: Problem beim Einlsesen von csv-Daten

Verfasst: Mo 28. Mär 2016, 17:06
von gogo
Wie kommst Du auf den Gedanken, dass "SOURCE" ein gültiger SQL-Befehl/Parameter/Kommando sein soll?

Es gibt verschiedene Möglichkeiten wie man Daten in eine Base-DB einfügen kann. Was am besten verwendet wird, hängt vom jeweiligen Base-Backend und von der Art der einzufügenden Daten ab.

Re: Problem beim Einlsesen von csv-Daten

Verfasst: Mo 28. Mär 2016, 17:16
von Freischreiber
Hallo Grafino,

das Thema wurde schon mal hier besprochen, wo unterschiedliche Lösungsansätze erwähnt werden:
http://www.libreoffice-forum.de/viewtop ... =6&t=15441

Gruß
Freischreiber

Re: Problem beim Einlsesen von csv-Daten

Verfasst: Mo 28. Mär 2016, 18:02
von F3K Total
Hi,
am leichtesten ist es, die .csv in Calc zu importieren und dann per DRAG/DROP in eine BASE Tabelle zu schreiben. Siehe auch Videotutorial 8.
Gruß R

Re: Problem beim Einlsesen von csv-Daten

Verfasst: So 3. Apr 2016, 12:58
von RobertG
Hallo *,

ich weiß, woher die Geschichte mit SOURCE kommt:

Code: Alles auswählen

SET TABLE "Adressen" SOURCE "Adressen.csv;encoding=UTF-8"
Wird innerhalb einer HSQLDB eine Texttabelle eingebunden, so wird zuerst die Tabelle über

Code: Alles auswählen

CREATE TEXT TABLE
definiert und anschließend kann mit SOURCE dieser Textabelle eine *.csv-Tabelle als Datengrundlage zugewiesen werden (Handbuch, Datenbank erstellen → Texttabellen).

Gruß

Robert

Re: Problem beim Einlsesen von csv-Daten

Verfasst: So 3. Apr 2016, 17:15
von Grafino
Schon mal besten Dank für die Antworten :)

RobertGhat die Frage mit der Herkunft von Source schon beantwortet. Was den Rest angeht: Danke für den Hinweis mit den anderen Antworten. Habe ich mit der SuFu nicht gefunden, werde mir aber damit mal eine Weile den Kopf zerbrechen und mal sehen, wie weit ich komme!
Den Umweg über die ods will ich vermeiden ;-) Ich mache mir die Arbeit für einen bekannten und hoffe, das Ganze mit allen Aufgabenstellungen automatisieren zu können.

Re: Problem beim Einlsesen von csv-Daten

Verfasst: So 3. Apr 2016, 20:22
von RobertG
Hallo Grafino,

dann mach es doch so, wie in dem Handbuch beschrieben:
1. Texttabelle über SQL erstellen - sollte nicht beschreibbar sein, benötigt also auch keinen Primärschlüssel.
2. Source für diese Texttabelle festlegen. Diese muss aber genau den Spalten entsprechen - nicht also plötzlich anders aussehen.
3. Kopieren der Inhalte dieser Tabelle in die Zieltabelle:

Code: Alles auswählen

INSERT INTO "Tabellenname" ("Feldname") SELECT "anderer_Feldname" FROM "Name_anderer_Tabelle";
Du musst die einzelnen Felder der aufnehmenden Tabelle benennen, wenn die abgebende Tabelle nicht genau die gleiche Feldreihenfolge hat. Das wird vermutlich nicht der Fall sein - allein schon, weil ein Primärschlüssel fehlt.

Gruß

Robert

Re: Problem beim Einlsesen von csv-Daten

Verfasst: So 10. Apr 2016, 18:08
von Grafino
Ok...das mit dem erstellen der Texttabelle funktionert. Das mit dem Einlesen über Insert hakt noch ein wenig. Wenn Ihr vom Handbuch redet, meint Ihr vermutlich das Base Gesamtband_V35.pdf!?
Da steht nichts von Texttabellen drin..ihr meint vermutlich den Absatz mit Tabellendokumenten. ICh stehe da nämlich aktuell immer vor dem Problem, wie ich jeden Monat ohne grossen Aufwand die csv in die DB bekomme, ohne jedes mal den Umweg über eine neue DB zu machen..oder ich habe da wieder einen blockierenden Denkfehler!

Vielen Dank für die Hilfe..habe jetzt noch einiges, was ich lösen muss. Ich befürchte, ich melde mich wieder :roll:

Re: Problem beim Einlsesen von csv-Daten

Verfasst: So 10. Apr 2016, 20:03
von RobertG
Hallo Grafino,

lade Dir das aktuelle Handbuch aus dem Netz (siehe auch der Link in meiner Signatur). Die Version V35 hat 303 Seiten, die aktuelle ist mit 549 Seiten fast doppelt so umfangreich. Und in der aktuellen Version steht etwas zu Texttabellen als Teil der Tabellen einer internen HSQLDB - als ich die V35 geschrieben habe, hatte ich die noch gar nicht entdeckt.

Gruß

Robert

Re: Problem beim Einlsesen von csv-Daten

Verfasst: So 10. Apr 2016, 21:00
von Grafino
Jaaaa...aktuelle Infos sollen ja helfen. :lol: Habe mich von Deinen Versionsnummern irritieren lassen: Ich habe die mit den V-Nr. des LO in Bezug gesetzt :oops: . In dem aktuellen steht ja überraschenderweise tatsächlich mehr drin :D .

Mal sehen, wie gut ich Deine Lektionen umsetzen kann! Großes Lob und Danke auf jeden Fall für das Buch!