Précédent   Forum des professionnels en informatique > Bases de données > Oracle > Outils > SQL*Loader
SQL*Loader Forum d'entraide sur Oracle SQL*Loader
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 25/06/2008, 15h01   #1
Invité de passage
 
Inscription : juin 2008
Messages : 13
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 13
Points : 3
Points : 3
Par défaut SQL Loader : premier enregistrement rejeté sur un fichier XML

Bonjour,

J'ai un soucis avec le chargement d'une table Oracle à partir d'un fichier XML : le premier enregistrement est rejeté, les autres étant correctement insérés.
J'ai trouvé un message avec le même problème (http://www.experts-exchange.com/Data..._20550955.html) mais la solution n'est accessible que si on s'enregistre avec sa carte bleu

Quelqu'un sait pourquoi il y a ce comportement et s'il y a une solution ?

Pour info le log est :
"Enregistrement 1 : Rejeté - Erreur sur table NOMDEMATABLE, colonne NOMCOLONNE.
Premier caractère d'encadrement introuvable
Enregistrement 4 : Rejeté - Erreur sur table NOMDEMATABLE, colonne NOMCOLONNE.
Colonne absente avant fin d'enregis. logique (utiliser TRAILING NULLCOLS)"

Merci,
Patrice
Patoche34 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/06/2008, 10h17   #2
Invité de passage
 
Inscription : juin 2008
Messages : 13
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 13
Points : 3
Points : 3
Bon en faisant quelques tests j'ai trouvé pourquoi le premier enregistrement était rejeté. En fait c'est la première ligne du fichier XML du style
Code :
<?xml version="1.0" encoding="ISO-8859-1"?>
qui pose problème à SQL Loader ainsi que les balises générales qui encadrent les lignes XML à intégrer.

Je n'ai pas trouvé comment faire autrement que d'avoir un fichier XML non normé du style :
Code :
1
2
3
4
5
6
7
8
 <Test>
  <IDTEST>25</IDTEST>
  <NOMTEST>moto</NOMTEST>
 </Test>
 <Test>
  <IDTEST>26</IDTEST>
  <NOMTEST>voiture</NOMTEST>
 </Test>
Et là ça marche bien.
Si quelqu'un sait comment ignorer le noeud parent je suis prenneur, sinon je fais faire avec

Pour info mon CTL est du style :
Code :
1
2
3
4
5
6
7
8
9
LOAD DATA
INFILE nomDuFichier "str'</Test>'"
INTO TABLE TESTSQLLOADER
APPEND --ajoute les données à la table
(
dummy filler terminated BY ">",
IDTEST ENCLOSED BY "<IDTEST>" AND "</IDTEST>",
NOMTEST ENCLOSED BY "<NOMTEST>" AND "</NOMTEST>"
)
Merci !
Patoche34 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h16.


 
 
 
 
Partenaires

Hébergement Web