Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Core Ultra 7 270K Plus e Core Ultra 7 250K Plus: Intel cerca il riscatto ma ci riesce in parte
Core Ultra 7 270K Plus e Core Ultra 7 250K Plus: Intel cerca il riscatto ma ci riesce in parte
Abbiamo provato le nuove CPU Intel Core Ultra 7 270K Plus e Core Ultra 7 250K Plus: più core e ottimizzazioni al funzionamento interno migliorano le prestazioni, anche in virtù di prezzi annunciati interessanti. A questo si aggiungono nuove ottimizzazioni software. Purtroppo, a fronte di prestazioni di calcolo elevate, il quadro rimane incerto nel gaming, dove l'andamento rimane altalenante. Infine, rimane il problema della piattaforma a fine vita.
PC Specialist Lafité 14 AI AMD: assemblato come vuoi tu
PC Specialist Lafité 14 AI AMD: assemblato come vuoi tu
Il modello "build to order" di PCSpecialist permette di selezionare una struttura base per un sistema, personalizzandolo in base alle specifiche esigenze con una notevole flessibilità di scelta tra i componenti. Il modello Lafité 14 AI AMD è un classico notebook clamshell compatto e potente, capace di assicurare una elevata autonomia di funzionamento anche lontano dalla presa di corrente
Recensione Nothing Phone 4(a): sempre iconico ma ora più concreto
Recensione Nothing Phone 4(a): sempre iconico ma ora più concreto
Nothing con il suo nuovo Phone 4(a) conferma la sua identità visiva puntando su una costruzione che nobilita il policarbonato. La trasparenza resta l'elemento cardine, arricchita da una simmetria interna curata nei minimi dettagli. Il sistema Glyph si evolve, riducendosi nelle dimensioni ma aumentando l'utilità quotidiana grazie a nuove funzioni software integrate e notifiche visive. Ecco tutti i dettagli nella recensione completa
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 25-02-2009, 11:10   #1
FaMontyN2
 
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:
<?xml version="1.0"?>
<DailyLibro xmlns : xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns : xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://total.com/hermes/SOAP/siatic/">
<Header>
<DocName>NOMRES</DocName>
<DocVersion>3.2</DocVersion>
<Sender>TIGF</Sender>
<Receiver>TIENIG</Receiver>
<DocNumber>120731</DocNumber>
<DocDate>2008-12-14T16:36:43.9288481+01:00</DocDate>
<DocType>J</DocType>
<Contract>TIGF-TIENIG</Contract>
</Header>
<ListOfGasDays>
<GasDay>
<Day>2008-12-15</Day>
<BusinessRuleFlag>Processed by adjacent TSO</BusinessRuleFlag>
<ListOfLibri>
<Libro>
<Logid>62</Logid>
<Isbn>88-251-7194-3</Isbn>
<Autore>Elisa Bertino</Autore>
<Titolo>Sistemi di basi di dati - Concetti e architetture</Titolo>
<Anno>1997</Anno>
<Collocazione>Dentro</Collocazione>
<Genere>Informatica</Genere>
<Lingua>Italiano</Lingua>
</Libro>
<Libro>
<Logid>63</Logid>
<Isbn>978-88-04-56981-7</Isbn>
<Autore>Dan Brown</Autore>
<Titolo>Crypto</Titolo>
<Anno>1998</Anno>
<Collocazione>Dentro</Collocazione>
<Genere>Thriller</Genere>
<Lingua>Italiano</Lingua>
</Libro>
</ListOfLibri>
</GasDay>
<GasDay>
<Day>2008-12-15</Day>
<BusinessRuleFlag>Confirmed</BusinessRuleFlag>
<ListOfLibri>
<Logid>64</Logid>
<Isbn>978-88-6061-131-4</Isbn>
<Autore>Stephen King</Autore>
<Titolo>Cell</Titolo>
<Anno>2006</Anno>
<Collocazione>Dentro</Collocazione>
<Genere>Horror</Genere>
<Lingua>Italiano</Lingua>
</Libro>
<Libro>
<Logid>65</Logid>
<Isbn>1-56592-697-8</Isbn>
<Autore>David C. Kreines</Autore>
<Titolo>Oracle SQL - The Essential Reference</Titolo>
<Anno>2000</Anno>
<Collocazione>Dentro</Collocazione>
<Genere>Informatica</Genere>
<Lingua>Inglese</Lingua>
</Libro>
<Libro>
<Logid>66</Logid>
<Isbn>978-88-6061-131-4</Isbn>
<Autore>Stephen King</Autore>
<Titolo>Cell</Titolo>
<Anno>2006</Anno>
<Collocazione>Dentro</Collocazione>
<Genere>Horror</Genere>
<Lingua>Italiano</Lingua>
</Libro>
</ListOfLibri>
</GasDay>
</ListOfGasDays>
<ListOfGeneralNotes>
<GeneralNote>
<Code>100</Code>
<Message>Rien a signaler</Message>
</GeneralNote>
</ListOfGeneralNotes>
</DailyLibro>
vi allego anche il mio control file così magari potete dirmi se commetto qualche errore nella compilazione dello stesso:

Quote:
load data
infile 'Esempio.XML' "str '</Libro>'"
BADFILE "libri.bad"
DISCARDFILE "libri.dis"
truncate

into table LIBRI
(
dummy filler terminated by ">",
Logid enclosed by "<Logid>" and "</Logid>",
Isbn enclosed by "<Isbn>" and "</Isbn>",
Autore enclosed by "<Autore>" and "</Autore>",
Titolo enclosed by "<Titolo>" and "</Titolo>",
Anno enclosed by "<Anno>" and "</Anno>",
Collocazione enclosed by "<Collocazione>" and "</Collocazione>",
Genere enclosed by "<Genere>" and "</Genere>",
Lingua enclosed by "<Lingua>" and "</Lingua>"
)
vi ringrazio anticipatamente,spero di essere stato chiaro e che qualcuno di voi possa aiutarmi!
Buona giornata a tutti
  Rispondi citando il messaggio o parte di esso
Old 25-02-2009, 12:41   #2
Caldwell83
Senior Member
 
L'Avatar di Caldwell83
 
Iscritto dal: Nov 2007
Città: Bergamo
Messaggi: 307
Se il file xml l'hai copiato giusto è quello l'errore.
Alla riga 52 c'è un tag </Libro> ma manca il tag <Libro>
Caldwell83 è offline   Rispondi citando il messaggio o parte di esso
Old 25-02-2009, 14:36   #3
FaMontyN2
 
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:
Record 6: Rifiutato - Errore nella tabella LIBRI, colonna LOGID. Col.non trovata prima della fine del record logico (use TRAILING NULLCOLS)
come faccio ad eliminarlo??so della esistenza della funzione SKIP...sarebbe utile in questo caso?come la imposto nel controlfile?
Grazie ancora...
  Rispondi citando il messaggio o parte di esso
Old 27-02-2009, 12:29   #4
FaMontyN2
 
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
  Rispondi citando il messaggio o parte di esso
Old 02-03-2009, 10:40   #5
FaMontyN2
 
Messaggi: n/a
Ma proprio nessuno riesci ad aiutarmi?!?!
Buona giornata a tutti...
  Rispondi citando il messaggio o parte di esso
Old 02-03-2009, 12:17   #6
gugoXX
Senior Member
 
L'Avatar di gugoXX
 
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
Quote:
Originariamente inviato da FaMontyN2 Guarda i messaggi
Ma proprio nessuno riesci ad aiutarmi?!?!
Buona giornata a tutti...
Puoi alzare il numero di errori. Continuera' a venire creato il .bad file, ma l'operazione terminera' correttamente per tutti i record che soddisfano il file di controllo.
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.
gugoXX è offline   Rispondi citando il messaggio o parte di esso
Old 02-03-2009, 12:39   #7
FaMontyN2
 
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
  Rispondi citando il messaggio o parte di esso
Old 02-03-2009, 12:48   #8
gugoXX
Senior Member
 
L'Avatar di gugoXX
 
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
Quote:
Originariamente inviato da FaMontyN2 Guarda i messaggi
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
E' uno dei parametri di SqlLoader, mi sembra che sia proprio error.
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.
gugoXX è offline   Rispondi citando il messaggio o parte di esso
Old 02-03-2009, 14:25   #9
FaMontyN2
 
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?!?
  Rispondi citando il messaggio o parte di esso
Old 02-03-2009, 16:02   #10
gugoXX
Senior Member
 
L'Avatar di gugoXX
 
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
Quote:
Originariamente inviato da FaMontyN2 Guarda i messaggi
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?!?
Si chiama Errors.
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.
gugoXX è offline   Rispondi citando il messaggio o parte di esso
Old 02-03-2009, 16:10   #11
FaMontyN2
 
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)
  Rispondi citando il messaggio o parte di esso
Old 02-03-2009, 16:38   #12
gugoXX
Senior Member
 
L'Avatar di gugoXX
 
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
Quote:
Originariamente inviato da FaMontyN2 Guarda i messaggi
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)
Gaurda, si puo' anche saltare l'intestazione, anche sotto condizioni.
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.
gugoXX è offline   Rispondi citando il messaggio o parte di esso
Old 02-03-2009, 16:44   #13
FaMontyN2
 
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
  Rispondi citando il messaggio o parte di esso
 Rispondi


Core Ultra 7 270K Plus e Core Ultra 7 250K Plus: Intel cerca il riscatto ma ci riesce in parte Core Ultra 7 270K Plus e Core Ultra 7 250K Plus:...
PC Specialist Lafité 14 AI AMD: assemblato come vuoi tu PC Specialist Lafité 14 AI AMD: assemblat...
Recensione Nothing Phone 4(a): sempre iconico ma ora più concreto Recensione Nothing Phone 4(a): sempre iconico ma...
Corsair Vanguard Air 99 Wireless: non si era mai vista una tastiera gaming così professionale Corsair Vanguard Air 99 Wireless: non si era mai...
Ecovacs DEEBOT T90 PRO OMNI: ora il rullo di lavaggio è ampio Ecovacs DEEBOT T90 PRO OMNI: ora il rullo di lav...
Cifre da low cost ma senza esserlo: vide...
Era finito, torna l'anti MacBook Air ASU...
Modem, router e ripetitori Wi-Fi FRITZ! ...
AirTag da 4 pezzi a 89€, AirPods Pro 3 a...
iPad 12 arriverà nel 2026 e sar&a...
AMD per il futuro dell'IA in Corea del S...
L'IA agentica incrementa il rischio cybe...
Rapporto Clusit 2026: finanza e infrastr...
Gli stessi sali che solidificano il tofu...
Il conflitto in Medio Oriente minaccia l...
OnlyFans, scomparso il proprietario Leon...
Le migliori offerte Amazon da leggere in...
Recensioni su Trustpilot non affidabili,...
Il CISPE denuncia Broadcom all'antitrust...
Il cyberattacco che negli Usa ha trasfor...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 07:53.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v