Vytvořte si libovolný seznam v Excelu a vyexportujte ho do CSV souboru. Jako oddělovače použijte například středník, což je předdefinovaná volba v Excelu. Tak nějak může vypadat CSV soubor zam.csv.
1;Tomas
2;Jarka
3;Matej
Datový soubor sqlloaderu máte vytvořený, ale je potřeba vytvořit ještě kontrolní soubor. V kontrolním souboru se popisuje formát dat, vstupní soubor a jednotlivé sloupce souboru. Kontrolní soubor je pojmenovaný jako zam.ctl.
[oracle@centos53 ~]$ cat zam.ctl
LOAD DATA
INFILE ‚/home/oracle/zam.csv‘
INTO TABLE zam
FIELDS TERMINATED BY ‚;‘
(id CHAR(2), jmeno CHAR(10))
Poznámka: Ať se jedná o sloupec číselný (number) nebo alfanumericky (varchar2), tak v kontrolním souboru jsou označeny jako char.
Zdrojová data máte připravena, teď je potřeba vytvořit si v databázi tabulku, do které si budete data ukládat. Vytvořte tabulku zam v libovolném schématu.
SQL> create table tsolar.zam (id number, jmeno varchar2(10)) tablespace users;
Table created.
Sloupce by měli odpovídat zdrojovému souboru. K vlastnímu přenosu dat použijte utilitu sqlloader. Jako parametry zadejte uživatele, který má platný účet v databázi a druhý parametr je kontrolní soubor.
[oracle@centos53 ~]$ sqlldr tsolar/Ora1cle19 control=/home/oracle/zam.ctl
SQL*Loader: Release 11.1.0.6.0 – Production on Mon Nov 23 06:07:00 2009
…
Commit point reached – logical record count 3
Data se úspěšně nahrála do databáze. Při vlastním nahrávání se vytvořil logovací soubor zam.log v aktuálním adresáři. Zkontrolujte, zda během nahrávání dat nedošlo k chybě. Kdyby ano vytvořil by se ještě dodatečný soubor zam.bad, ve kterém by byli vypsané veškeré chyby.
Table ZAM:
3 Rows successfully loaded.
0 Rows not loaded due to data errors.
Přihlaste se jako uživatel tsolar a zkontrolujte, zda v tabulce zam jsou stejná data jako v souboru csv.
SQL> connect tsolar/******
Connected.
SQL> select * from zam;
ID JMENO
———- ———-
1 Tomas
2 Jarka
3 Matej
Utilita sqlloader má více přepínačů, ale funkce je vždy stejná. Máte soubor s daty kontrolní soubor, kde jsou data popsaná. Pak se jen spustí nahrávání.
Metalink:
796098.1 – How To Load Data That Has Commas In Customer Name Using Sqlloader