Csv in dem datenbank speichern
-
Hallo!
Ich habe eine CSV-Datei(Symikolon getrennt). Ich wollte die CSV in der Datenbank in Tabellenform zu speichern. Ich habe versucht Texttreiber in der Menu:Datenbank-Explorer einfügen. Aber bei öffnen den Textdatei wolltet von mir Benutzername und Password. Wo soll ich das eingeben? Oder vielleicht gibt die andere Lösung, ohne Texttreiber?
-
Wenn Du MySQL verwendest kannst Du mit LOAD DATA INFILE eine CSV-Datei in die Datenbank laden. Vorraussetzung ist eine bestehende Tabelle mit den entsprechneden vordefinierten Spalten.
Im Beispiel wird der File "C:/Programme/MySQL-Front/import.csv" in die Tabelle "daten" der Datenbank "testdb" geladen. Alle Felder werden durch ";" getrennt und in die Spalten "id, name" usw. geladen:
LOAD DATA INFILE 'C:/Programme/MySQL-Front/import.csv' INTO TABLE testdb.daten FIELDS TERMINATED BY ';' (id, name, wert, datum)
-
Danke, für die Antwort, aber leider benutze ich keine MySQL. Die Daten müssen in der Tabelle von Oracle Datanbank gespeichert sein.
-
Hm, ich verstehe Dein Problem nicht ganz
. Ich würde die CSV-Datei zeilenweise einlesen, die durch Semi getrennten Items auseinander dröseln und per INSERT-Statement in die Datenbank fummeln ....
-
Schau mal, ob's bei Oracle nicht auch einen SQL-Statment gibt, das Textdateien Zeilenweise in eine Table transferiert.
-
In Oracle gibts so was ähnliches, wird aber in einem Control-File verwendet um ein spezielles Import-Utility zu steuern.
-
Danke, probiere ich aus
-
joh, die Steuerungsdateien (*.ctl" steuern den Import und sehen zum Beispiel so aus:
*LOAD DATA
INFILE 'C:\projekt\import\data\nzg.txt'
INTO TABLE imp_nzgTRUNCATE
TRAILING NULLCOLS
(
DATUM POSITION(1:8) DATE "YYYYMMDD",
F_25_49 POSITION(9:16),
E_16_34 POSITION(17:24),
M_30_59_HHNE_2500_EU POSITION(25:32),
E_20_49_HHNE_2000_EU POSITION(33:40))*
Dann kann man zum Beispiel ne *.cmd- Datei erstellen:
rem Loader
rem führe ctl aus
sqlldr USERNAME/PASSWORD@oracle c:\projekt\import\loader\imp.ctl
DIRECT=TRUEwobei sqlldr der Loader von Oracle ist, der sich im bin- Verzeichnis befindet
[ Dieser Beitrag wurde am 07.05.2003 um 14:56 Uhr von AndreasW editiert. ]