|
|
|
![]() |
|
Strumenti |
![]() |
#1 | ||
Messaggi: n/a
|
[PL/SQL] caricare file .xml con sql*loader
Buongiorno a tutti...
Ho trovato il modo per caricare un file .xml tramite sql*loader però ho qualche problemino in fase di carimento.Vi spiego il mio problema e vi metto il blocco di esempio che sto utilizzando come esempio per provare: non mi carica mai il primo record dei diversi blocchi e mi genera errore per un ultimo record che non esiste. Quote:
Quote:
Buona giornata a tutti |
||
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Nov 2007
Città: Bergamo
Messaggi: 305
|
Se il file xml l'hai copiato giusto è quello l'errore.
Alla riga 52 c'è un tag </Libro> ma manca il tag <Libro> |
![]() |
![]() |
![]() |
#3 | |
Messaggi: n/a
|
grazie dell'interesse....
l'errore l'ho notato anche io e l'ho già corretto. Però ora durante le mie mille prove ho notato alcune stranezze..tipo: se nel controlfile imposto: dummy filler terminated by "o>" mi carica tutti tranne il primo se è presente l'intestazione,al contrario se elimino la parte di intestazione mi carica i 5 record presenti nel .xml senza problemi. Però mi crea in entrabi i casi un ultimo record che non è presente nel .xml e l'errore che presente nel file di log è il seguente: Quote:
Grazie ancora... |
|
![]() |
![]() |
#4 |
Messaggi: n/a
|
Buongiorno a tutti!!!
volevo chiedere se qualcuno ha qualche news o se magari c'è qualc'un'altro che mi potrebbe aiutare in questo mio problemino!! Poi volevo chiedervi un'altra cosa sempre riguardante SQL*Loader. Posso inserire una select all'interno del controlfile? per farvi capire: io all'interno del file che devo caricare ho magari l'intestazione della tabella,con definiti tutti i campi, poi magari il blocco di dati e infine dello spazio,tutto ciò ripetuto n volte all'interno del file. Posso prendere solo le righe che mi ineteressano e saltare le altre senza che creino errori e quindi di cosneguenza il file.bad? Vi ringrazio anticipatamente Buona giornata |
![]() |
![]() |
#5 |
Messaggi: n/a
|
Ma proprio nessuno riesci ad aiutarmi?!?!
Buona giornata a tutti... |
![]() |
![]() |
#6 | |
Senior Member
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3691
|
Quote:
Per quanto riguarda l'XML non l'ho mai caricato direttamente in tabelle. E' possibile caricarlo dentro campi di tipo XML, e poi mediante XQuery spostarne i contenuti in altre tabelle e campi strutturati.
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto. E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test. |
|
![]() |
![]() |
![]() |
#7 |
Messaggi: n/a
|
grazie della risposta....ma sarò onesto,non l'ho mica capita la storia dell'aumentare il numero massimo di errori.
cosa intendi?mi spiegheresti un pò meglio....non molto pratico,o magari ora faccio fatica a connettere ![]() Grazie |
![]() |
![]() |
#8 | |
Senior Member
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3691
|
Quote:
Imposti ERROR=1000000 e sql loader non terminera' con errore se incontrera' meno di 1000000 di record errati. Poi ti dico, se riesci a modellare anche i record da saltare, puoi istruire sql-loader a saltarli, rendendo il tutto piu' corretto e velocizzando anche il caricamento. Ti consilgieri di studiare bene SqlLoader, per il quale mi sembra di ricordare un intero manuale a se'
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto. E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test. |
|
![]() |
![]() |
![]() |
#9 |
Messaggi: n/a
|
l'ho provata la funzione ERROR subito ma non funziona,mi da sempre errore.
io visto che è la prima volta che utilizzo SQL*Loader ho letto il manuale di Oracle9i dove c'è una sezione dedicata interamente a Sql*Loader!! tu sai dirmi dove posso trovare questo manuale solo di Sql*Loader?!?! Ma quindi io non posso inserire una select all'interno del control file giusto?!? |
![]() |
![]() |
#10 | |
Senior Member
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3691
|
Quote:
Il manuale e' un PDF, so che si puo' scaricare dal sito Oracle, ma non so se occorre essere partner oppure se e' di libero accesso. prova a cercare su technet.oracle.com Comunque il parametro si chiama errors, avevo sbagliato. Anche se e' un po' che non lo uso, Select all'interno del control file direi che non si possono mettere. Da cosa selezioneresti fra l'altro, dato che di tabelle non ce ne sono (e' un file)...
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto. E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test. |
|
![]() |
![]() |
![]() |
#11 |
Messaggi: n/a
|
si si è ERRORS la funzione che dicevi...l'ho trovata nel manuale che ti dicevo.
va messa sul prompt dei comandi al momento del lancio della procedura di caricamente....ho inziato a provarla proprio ora ma non ho be capito come funzione.Restituisce sempre l'errore e crea il file .bad. Per quanto riguarda la select(o simile) è semplicemente perchè potrei avere dei file sporchi e non solo i record da caricare,per quello lo dicevano. Ad esempio alcuni di questi hanno l'intestazione e la vorrei non contare nel caricamento,cioè senza creare errori,ma al massimo RecordSaltati(tipo funzione SKIP) |
![]() |
![]() |
#12 | |
Senior Member
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3691
|
Quote:
Ma poiche' mettere a posto un carciatore per SqlLoader e' una costa abbastanza scomoda, ti lascio immaginare cosa vuol dire farlo su un forum, senza avere neppure ne le tabelle ne i file sottomano. Ti consiglio davvero di leggere i documenti.
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto. E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test. |
|
![]() |
![]() |
![]() |
#13 |
Messaggi: n/a
|
immaggino sia molto difficile...ma ti ringrazio comuqnue della diponibilità!!!
ora proverò a vedere altri manuali oltre quelli che ho già se mi dicono qualcosa di interessante e utile al mio lavoro!!! Grazie ancora...se magari ti venisse in mente qualcosa di utile accetto volentieri consigli! Buona giornata |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 03:12.