24. maj 2007 - 15:06Der er
24 kommentarer og 2 løsninger
Konverter long til varchar.
Skal have konverteret en long to varchar. Jørn har hjulpet mig et stykke vej, men mangler lige det sidste.
Har et database link: INSERT INTO ksd_line SELECT * FROM ksd_line@linknavn. Men der er long datatyper i begge tabeller og kan man jo ikke.
Så er jørn kommet frem til at man skal have en procedure der konverterer og kalde på den i en view på remote serveren, som så derefter kan kaldes på mha linket. Det er det jeg har brug for hjælp med.
- altså du skal indsætte dit brugernavn i TABLE-parameteren, eftersom pakken kører som sys (alternativt skal du lave et public synonym på din tabel så sys kan se den direkte). Og der skal stå ROWID, ikke 72 (hvor det så kom fra?)
Angående dit første spørgsmål tror jeg i øvrigt bare der var en syntaksfejl i dit COPY statement. Det ser ca. således ud:
copy from REMOTE_USER/REMOTE_USER_PASSWORD@remotedb - insert testtab using select * from testtab
Men med 16 millioner rækker er det nok klogt at sætte copycommit og arraysize fornuftigt... Altså ikke "insert into", bare "insert"
Evt en produre hvor man ikke behøver kopiere 16 mill poster til en ny kolonne. Skal jeg ud i en exp/imp skal jeg køre til ælmhult, hvor serverne står :(
Synes godt om
Slettet bruger
24. maj 2007 - 20:08#9
Hvordan kører du din select - den der giver fejlen 'ugyldigt rowid?'
Har du prøvet at lave selecten, uden insert, for de første 100 rækker (WHERE ROWNUM < 100)? Prøv at gøre det på produktionsserver. Hvis det virker, kan det være fordi du kører på et databaselink: Du bruger måske proceduren long2varchar fra testserver. Da rowid refererer til en række på produktionsserveren vil lpmg2varchar på testserver jo ikke kunne finde rækken med den angivne rowid.
Jeg prøvede at køre den syntax jeg fik af dig, men den brokkede sig over at tabellen ikke fandtes.
Gik ind i kommandoprompten. Ledte mig frem til bin-kataloget. kørte: exp brugerid=bruger/pass@prod.firma.com file=ksd_line_exp.dmp compress=NO log=ksd_line_exp.log tables=(KSD_LINE) og tables=(SCHEMANAVN.KSD_LINE) Men de ville ikke.
EXP-00056: Oracle-fejl 942 fundet ORA-00942: table or view does not exist EXP-00000: Mislykket avslutning af export
Synes godt om
Slettet bruger
24. maj 2007 - 20:44#14
jeg har altid svært ved at huske syntaksen. det var hvad 'exp help=y' sagde til mig. men ifølge http://www.kiyoinc.com/nxtract.html er syntaksen uden paranteser
Har fundet ud af at det formodentlig er catexp.sql der skal köres på serveren. Det hjalp i hvert fald da jeg körte den. Tak for hjälpen alle sammen. Läg gerne et svar.
Läg du bare et svar jörn. Så kan du dele med holdam. Jeg fik det til at fungere lokalt, men fik ikke de nödvendige rettigheder til at göre det på de andre servere. Det er åbenbart et större beaurokrati (hmm, ser fejlstavet ud) man skal igennem.
Synes godt om
Slettet bruger
25. maj 2007 - 15:40#26
tak for pointsene
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.