Przy 3 tabelach ładowało bez zarzutu, przy czwartej się zawiesza mimo, że plik kontrolny jest napisany tak samo, jak dla poprzednich. Nie wywala błędu, tylko pojawia się napis "Path used: conventional" i na tym się zatrzymuje, dopiero ctrl c przerywa to działanie. Laduję za pomocą wiersza polecenia, wprowadzając
sqlldr system/(hasło) control='(url pliku kontrolnego)'
Tabela:
CREATE TABLE produkty (
kod NUMBER(8) CONSTRAINT produkty_pk PRIMARY KEY NOT NULL,
cena NUMBER(5,2),
waga_kg NUMBER(4,2),
id_lokalu NUMBER(4),
CONSTRAINT produkty_fk FOREIGN KEY(id_lokalu) REFERENCES lokale(id)
);
Plik kontrolny (formatuje się tu na sql ale to notatnik i format ctl)
load data
infile 'C:\Users\ORACLE\Desktop\pliki\Tabprodukty.csv'
badfile 'produkty.bad'
discardfile 'produkty.dsc'
replace into table produkty
fields terminated by ","
(kod,cena,waga_kg,id_lokalu)
Pierwsze 2 wiersze z pliku CSV:
1000000,1199.00,63.50,48
1000001,1199.00,63.50,1
Podejrzewam, że wpływ na to mogą mieć dane typu number z częściami ułamkowymi, w poprzednich tabelach ich nie było