Entweder Du splittest Die Dateien < 65.000 Records oder Du machst den Import manuell.
Du brauchst dafür ein Makro, welches die CSV-Dateien liest und die Felder abhängig vom Komma trennt.
Dann mußt Du die Daten nur noch per SQL Satz für Satz mit insert in die Datenbank schreiben.
Dabei könntest Du die Daten sogar noch auf logische Richtigkeit prüfen..... steht vielleicht allerhand Schrott in den Daten.
Allerdings habe ich bei dem von Dir genannten Volumen Bedenken, die interne Datenbank HSHSQLDB zu verwenden.
Du solltest Dir vorher schon Gedanken über eine echte Datenbank, wie MySQL etc. machen. Mit MySQL habe ich die besten Erfahrungen gemacht.
Gruß und viel Erfolg
eBayer
Anzahl Records über 65 TSD nach BASE importieren
Moderator: Moderatoren
Re: Anzahl Records über 65 TSD nach BASE importieren
Intel(R) Core(TM)2 Quad CPU Q8200 @ 2.33GHz mit 4 GB Memory (3,2 GB aktiv)
Vista Home Premium 32 Bit
openOffice 3.1.1 mit Sun Report Builder 1.1.0 und MySql 5.1
Hauptinteresse ooBase seit 12.2008
Vista Home Premium 32 Bit
openOffice 3.1.1 mit Sun Report Builder 1.1.0 und MySql 5.1
Hauptinteresse ooBase seit 12.2008
- komma4
- ********
- Beiträge: 5332
- Registriert: Mi, 03.05.2006 23:29
- Wohnort: Chon Buri Thailand Asia
- Kontaktdaten:
Re: Anzahl Records über 65 TSD nach BASE importieren
Sorry, wenn ich widerspreche:eBayer hat geschrieben:Entweder Du splittest Die Dateien < 65.000 Records oder Du machst den Import manuell.
Du brauchst dafür ein Makro, welches die CSV-Dateien liest und die Felder abhängig vom Komma trennt.
Dann mußt Du die Daten nur noch per SQL Satz für Satz mit insert in die Datenbank schreiben.
wie Michael vorgeht ist prinzipiell schon OK... wenn ich das richtig verstanden habe.
Eine CSV-Datei wird direkt mit BASE geöffnet, indem das Verzeichnis (in dem die CSV) liegt angegeben wird.
Damit wird auch "nichts" nach HSQLDB importiert - ausser der Info über die CSV.
Ich verstehe nicht wo/wann sich da CALC einschaltet.
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)
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)
Re: Anzahl Records über 65 TSD nach BASE importieren
Hallo Winfried,
Deine Antwort erklärt trotzdem nicht, warum dann die Meldung kommt, daß die Datei zu groß ist.
Mit meinem Vorschlag wollte ich zudem nur einen möglichen Weg aufzeigen, wie es ganz sicher funktioniert.
Außerdem braucht man sich dann nicht noch zusätzlich mit möglichen Fehlern bei der Konvertierung der Datumsfelder herumschlagen, weil gleich im Makro in das richtige Format umgewandelt werden kann. Wenn das Datenvolumen steigende Tendenz hat und in einem Fall sogar die Grenze von 1 Milliarde Records sprengt, ist nach meiner Meinung HSQLDB wirklich nicht mehr geeignet.
Gruß eBayer
Deine Antwort erklärt trotzdem nicht, warum dann die Meldung kommt, daß die Datei zu groß ist.
Mit meinem Vorschlag wollte ich zudem nur einen möglichen Weg aufzeigen, wie es ganz sicher funktioniert.
Außerdem braucht man sich dann nicht noch zusätzlich mit möglichen Fehlern bei der Konvertierung der Datumsfelder herumschlagen, weil gleich im Makro in das richtige Format umgewandelt werden kann. Wenn das Datenvolumen steigende Tendenz hat und in einem Fall sogar die Grenze von 1 Milliarde Records sprengt, ist nach meiner Meinung HSQLDB wirklich nicht mehr geeignet.
Gruß eBayer
Intel(R) Core(TM)2 Quad CPU Q8200 @ 2.33GHz mit 4 GB Memory (3,2 GB aktiv)
Vista Home Premium 32 Bit
openOffice 3.1.1 mit Sun Report Builder 1.1.0 und MySql 5.1
Hauptinteresse ooBase seit 12.2008
Vista Home Premium 32 Bit
openOffice 3.1.1 mit Sun Report Builder 1.1.0 und MySql 5.1
Hauptinteresse ooBase seit 12.2008
- komma4
- ********
- Beiträge: 5332
- Registriert: Mi, 03.05.2006 23:29
- Wohnort: Chon Buri Thailand Asia
- Kontaktdaten:
Re: Anzahl Records über 65 TSD nach BASE importieren
Agree... das EINLESEN in eine HSQLDB kann er sich aber sparen, wenn die Verbindung zur CSV über BASE richtig angelegt wird.
Dann wird eben direkt auf die Daten zugegriffen - alle Auswertungsmöglichkeiten (Abfragen etc.) sind gegeben.
Was die Performance angeht bin ich da aber auch nicht sicher,mit Hunderttausenden CSV-records habe ich schon gearbeitet...nicht mit ner Million.
Wenn wirklich importiert werden soll, dann ist ein richtiges DBMS auf jeden Fall besser.
Und zur Fehlermeldung: DAS ist die Frage... wie Michael vorgeht, im Einzelnen. CALC sollte sich da wirklich nicht einschalten
Dann wird eben direkt auf die Daten zugegriffen - alle Auswertungsmöglichkeiten (Abfragen etc.) sind gegeben.
Was die Performance angeht bin ich da aber auch nicht sicher,mit Hunderttausenden CSV-records habe ich schon gearbeitet...nicht mit ner Million.
Wenn wirklich importiert werden soll, dann ist ein richtiges DBMS auf jeden Fall besser.
Und zur Fehlermeldung: DAS ist die Frage... wie Michael vorgeht, im Einzelnen. CALC sollte sich da wirklich nicht einschalten
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)
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)
-
- *****
- Beiträge: 473
- Registriert: Fr, 09.10.2009 16:44
- Wohnort: Bielefeld
- Kontaktdaten:
Re: Anzahl Records über 65 TSD nach BASE importieren
Hallo,
nu' schütt mal nicht gleich das Kind mit dem Bade aus. HSQL/OOo-Base sind für solche Datenmengen sicher nicht gedacht und daher nicht geeignet; ebenso übrigens wie CSV außer als Datenquelle. Bei solchen Datenmengen als CSV (hab ich auch schon gehabt) habe ich eine MySQL-DB angelegt, mit LOAD DATA INFILE (das ging bei ~400.000 Records wie die Wutz) alles reingepackt und dann konnte ich mit OOo meine Abfragen machen und Daten komprimiert in meine Dokumente übernehmen. Vielleicht probierst Du es mal so.
Grüße
Andreas
nu' schütt mal nicht gleich das Kind mit dem Bade aus. HSQL/OOo-Base sind für solche Datenmengen sicher nicht gedacht und daher nicht geeignet; ebenso übrigens wie CSV außer als Datenquelle. Bei solchen Datenmengen als CSV (hab ich auch schon gehabt) habe ich eine MySQL-DB angelegt, mit LOAD DATA INFILE (das ging bei ~400.000 Records wie die Wutz) alles reingepackt und dann konnte ich mit OOo meine Abfragen machen und Daten komprimiert in meine Dokumente übernehmen. Vielleicht probierst Du es mal so.
Grüße
Andreas
LO 4.3
AMD Athlon 64 3700+, 2.21 GHz, 4 GB RAM, Win XP SP3
iMac 2 GHz, 16 GB RAM/MacBookPro, 8 GB RAM, Mac OS X 10.9.5
Intel Core2 Quad CPU Q6600 @ 2,4 GHz, 4 GB RAM, Suse 13.2
MySQL 5.1: Pentium III, 666 MHz, 512 MB, Suse 12.1
AMD Athlon 64 3700+, 2.21 GHz, 4 GB RAM, Win XP SP3
iMac 2 GHz, 16 GB RAM/MacBookPro, 8 GB RAM, Mac OS X 10.9.5
Intel Core2 Quad CPU Q6600 @ 2,4 GHz, 4 GB RAM, Suse 13.2
MySQL 5.1: Pentium III, 666 MHz, 512 MB, Suse 12.1