[ _alokiN_ @ 23.09.2010. 15:52 ] @
| Zdravo svima,
Imam pitanje vezano za sqlldr: kada ; delimited data file sadrzi vise polja nego sto postoji u tabeli, sva suvisna polja su ignorisana. Da li postoji mogucnost da se takve linije detektuju kao greske?
Ako bez opcije TRAILING COLUMNS NULL stavimo manje polja nego sto je ocekivano - dolazi do greske, ali ako stavimo vise polja nego sto je ocekivano - sve prolazi ok...
Primer:
CTRL:
Code:
LOAD DATA
APPEND
INTO TABLE SOCIETY_FLOW
FIELDS TERMINATED BY ';'
(
ID,
NAME,
CREATED DATE "YYYYMMDD"
)
DATA:
Code:
106;NAME;20090808;;;;;;;
Koju opciju sqlldr-a treba koristiti (ako uopste postoji) da bi ova linija otisla u BAD file?
Hvala unapred!
Nikola |
[ djoka_l @ 24.09.2010. 08:45 ] @
Ne postoji opcija kojom ćeš dobiti to što hoćeš.
Dakle u BAD ide samo ono što nije uspešno parsirano - manje polja nego što se očekuje, ili problem u formatu nekog od polja.
Ne vidim da je i neki problem kada se naređaju prazna polja, kao u tvom primeru, na kraju sloga, ali ako ti je potrebno da detektuješ takve slučajeve, onda napravi neki svoj parser. U ovako jednostavnom slučaju, i awk program bi ovo otkrio.
[ _alokiN_ @ 24.09.2010. 10:28 ] @
Ok, hvala na odgovoru.
File koji parsujem je komplikovaniji od primera ;) a aplikacija ga mora odbaciti ukoliko postoji bilo koja nepravilnost u njemu, tako da ... awk power :)
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.