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 04/03/2008, 15h01   #1
Membre confirmé
 
Inscription : octobre 2007
Messages : 311
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 311
Points : 271
Points : 271
Par défaut SQL Loader et retour ligne

Bonjour,

Je lutte depuis ce matin sur l'import via SQL Loader de données issues d'un autre SGBD, et après avoir résolu des soucis sur les caractères séparateurs, les formats dates et décimaux, j'ai un problème avec le retour ligne dans un champ texte...

Je me prends un
Code :
1
2
3
4
 
Enregistrement 307 : Rejeté - Erreur sur TABLE maTable, colonne maColonne.
second séparateur de fin manquant
Indiquez SKIP=306 au moment de poursuivre le chargement.
dans une ligne où le champ maColonne contient du texte avec des retours lignes...

Y a-t-il une option pour indiquer au SQL Loader de considérer ceci comme un caractère banal, ou un moyen de biaiser ?

Merci d'avance,

Julien

EDIT : pour info, Oracle 10g R2 sous HP-UX
DevTeam_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/03/2008, 17h18   #2
Membre confirmé
 
Inscription : octobre 2007
Messages : 311
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 311
Points : 271
Points : 271
Bon, pour ceux qui tomberaient sur le problème :

il faut redéfinir le séparateur d'enregistrement, pour que le sql loader ne considère plus le retour ligne comme le marqueur de séparation de 2 enregs.

Pour ce faire, je n'ai trouvé que la définition, dans le fichier de contrôle au niveau du INFILE, du code ascii du nouveau séparateur, encadré par des cotes et précédé de "str X".

Dans mon exemple, j'ai décidé de prendre un double "^" comme délimiteur, dont le code ascii est "5e". Ce qui donne :
Code :
1
2
 
LOAD DATA INFILE 'mesdonnees.dat' "str X'5e5e'"
DevTeam_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



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


 
 
 
 
Partenaires

Hébergement Web