Avatar billede scandal Nybegynder
18. april 2002 - 14:36 Der er 3 kommentarer og
1 løsning

sqlldr / sqlloader. opsætning af decimal seperator

Hej,

Jeg bruger sqlldr til at indlæse en fil med "danske" decimaltal (det vil sige at det er ',' der benyttes som seperator). sqlldr køres på en maskine, som er sat op til at bruge '.' som decimal seperator (amerikansk tegnsæt).

Når jeg kører min sqlldr nu, får jeg en fejl:
Record 1: Rejected - Error on table BEEF_TMP, column AVG_MONTH.
ORA-01722: invalid number

Kan man på nogen som helst måde sætte sqlldr op til at se ',' som seperator ?

Jeg har tænkt lidt på om det er muligt at sætte en eviromentvariabel op for den session, der udfører min sqlldr

I min datafil står der f.eks.
1000  2,56

og i min ctl-fil:
OPTIONS (ROWS=2000,errors=1000)
LOAD DATA     
replace
INTO  TABLE beef_tmp  (
kundenr    POSITION(01:04)  integer external,
avg_month  POSITION(05:10)  decimal external
)
Avatar billede holdam Nybegynder
18. april 2002 - 15:05 #1
Hvis du sætter enviromentvariablen NLS_NUMERIC_CHARACTERS til ,. (altså komma-punktum) burde det virke. Så "ved" sqlloader at du anvender "danske" decimaltal.
Avatar billede scandal Nybegynder
18. april 2002 - 15:50 #2
Du har vel ikke tilfældigvis et eksempel.
Jeg kalder min sqlldr fra en .bat-fil.
...er det så bare i .bat-filen, der skal tilføjes:
set NLS_NUMERIC_CHARACTERS = ",."
før jeg kalder min sqlldr  ??
Avatar billede holdam Nybegynder
19. april 2002 - 09:47 #3
Hvis din sqlldr-kontrolfil hedder loadit.ctl, ser det således ud i en bat-fil:

set NLS_NUMERIC_CHARACTERS=,.
sqlldr <brugernavn>/<password>@<db> loadit.ctl
Avatar billede scandal Nybegynder
19. april 2002 - 10:12 #4
Perfekt. Det var lige det.

Som du kan se på min tidligere kommentar, havde jeg prøvet med
set NLS_NUMERIC_CHARACTERS = ",."

til info kan jeg lige nævne at jeg har haft det samme spørgsmål stående på metalink (Oracles help-forum) i et par dage mere end hér .... der er endnu ikke nogen, der har svaret.

....eksperten er #1.


1000 tak for hjælpen holdam
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester