Avatar billede dpp Nybegynder
13. august 2001 - 12:20 Der er 8 kommentarer

sql loader

Når jeg læser ind med sqlldr fra en flad-fil, hvordan fortæller jeg så i loadscriptet at det ikke er hele linien jeg skal bruge feks:
xxxx,xxxx:xxx:xxx,xxx,xxx
¨¨¨¨                  ¨¨¨
hvis jeg kun skal bruge de to felter i midten hvoedan smider jeg det første og det sidste felt væk (xxx, og ,xxx)
Avatar billede avnes Nybegynder
13. august 2001 - 13:11 #1
Set først en delimiter i sqlloader kommendoen, for eksempel til komma ,
(delimiter bruges til at vise sqlloader hvad der skal ind i hvilken kolonne
10;12;14;23 betyder altså at der skal være fire kolonner hvis ; er delimiter).

Load derefter ind din flade fil til en test tabell (myTestTable). I dit eksempel ovenfor vil der være 4 kolonner i din test tabell. For at så kun få de to kolonner du vil have, lave så en
CREATE myRealTable AS
(
SELECT kolonnenavn2, kolonnenavn3
FROM myTestTable
)
Avatar billede dpp Nybegynder
13. august 2001 - 13:25 #2
er det ikke muligt at sortere i loaderen, så man slipper for det senere
Avatar billede avnes Nybegynder
13. august 2001 - 13:43 #3
Måske, men tror ikke det. Har sett lidt i dokumentionen, men ikke fundet nogen \'sqlloader\' måde at løse det på
Avatar billede avnes Nybegynder
13. august 2001 - 13:49 #4
dpp, det er lige en anden måde at lave dette på også. Hvis du er på Unix, kan du bruge cut kommandoen til at sortere ud hvilke felter du ønsker.

cut -f2-3 -d, dinFladeFil.dat > dinNyeFladeFil.cut

-f parameteren siger hvilke kolonner i din flade fil du ønsker (i mit eksempel altså kolonne 2 og 3)

-d parameter siger hvad du skal bruge som delimeter (-d, betyder altså komma som delimter).
Avatar billede avnes Nybegynder
13. august 2001 - 13:50 #5
Derefter kan du bruge dinNyeFladeFil.cut
sammen med sqlloader.
Avatar billede avnes Nybegynder
13. august 2001 - 13:51 #6
Burde nesten være mere verdt end 30 points :-)
Avatar billede avnes Nybegynder
13. august 2001 - 22:52 #7
Har du forsøgt med cut kommandoen nu ?
Avatar billede dpp Nybegynder
13. august 2001 - 23:11 #8
Nej men jeg har fundet ud af, at man f.eks. kan skrive noget i retning af:
dummy1 terminated by whitespace filler,
                                ¨¨¨¨¨¨
så skulle det ikke blive taget med, men jeg har ikke testet det endnu.
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