csv in datenbank schreiben per sql befehl

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

Gabriel123
***
Beiträge: 65
Registriert: Mo, 14.01.2008 19:31

Re: csv in datenbank schreiben per sql befehl

Beitrag von Gabriel123 »

Das heißt manuell eine datei auszuwählen fällt aus. Sie muss im gleichen Verzeichnis liegen...
Deshalb auch die Doppelung: c:/tmp/c:/tmp wenn ich eine url angebe. Aber es muss doch eine Möglichkeit geben einen Pfad unabhängig vom odb Verzeichnis anzugeben...

Hier habe ich grade was gefunden, man kann die database properties datei(was immer das ist) wohl ändern
"textdb.allow_full_path"
http://www.hsqldb.org/doc/guide/guide.html#N1104D

Vielleicht gibt es aber auch eine Möglichkeit die url aus dem filecontrol in eine relative url umzuwandeln. Also nicht convertToUrl sondern ConvertToRelativeUrl oder sowas...
Gabriel123
***
Beiträge: 65
Registriert: Mo, 14.01.2008 19:31

Re: csv in datenbank schreiben per sql befehl

Beitrag von Gabriel123 »

Ich habe nochmal eine Frage:

Code: Alles auswählen

sql= SET TABLE ""TableCSV"" SOURCE ""import1.csv;fs=,;encoding=ISO-8859-1"" INSERT INTO
Das fs=,; gibt an, dass Komma mein Trennzeichen ist. Es ist aber ein ;
Wenn ich nun aber fs=;; eingebe gibts eine fehlertmeldung, ebenfalls bei fs=";" oder fs=';'

Was kann man da wohl machen ?
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: csv in datenbank schreiben per sql befehl

Beitrag von komma4 »

Das machen, was im Handbuch dazu steht:
Special indicators for Hsqldb Text Table separators

\semi

semicolon
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Gabriel123
***
Beiträge: 65
Registriert: Mo, 14.01.2008 19:31

Re: csv in datenbank schreiben per sql befehl

Beitrag von Gabriel123 »

oh ha, da hätte ich mal vorab in meine datei schauen müssen. da steht überall \t. habe also als Separator \t angegeben. Das scheint aber nicht zu gehen denn in der Tabelle landet dann Text\tText und die nächste zelle ist leer.
Antworten