18. april 2002 - 14:36Der 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 )
Hvis du sætter enviromentvariablen NLS_NUMERIC_CHARACTERS til ,. (altså komma-punktum) burde det virke. Så "ved" sqlloader at du anvender "danske" decimaltal.
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 ??
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
Synes godt om
Ny brugerNybegynder
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.