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 13/06/2006, 16h00   #1
Débutant
 
Inscription : avril 2005
Messages : 464
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 464
Points : 69
Points : 69
Par défaut SQL LOADER : erreur de données

je veux charger une table ici article_document à partir d'un fichier de donnée d'extension .DAT que j'ai obtenu par un UNLOAD de la table par Sybase.Et quand je prépare tout et lance la commande sqlldr :

il me signale les erreurs suivantes :

Table ARTICLE_DOCUMENT, chargé à partir de chaque enregistrement physique.
Option d'insertion en vigueur pour cette table : INSERT

Nom de colonne Position Long. Séparat. Encadrem. Type de données
------------------------------ ---------- ----- ---- ---- ---------------------
ADOC_INDEX FIRST * , CHARACTER
ADOC_NAME NEXT * , CHARACTER
ADOC_PATH NEXT * , CHARACTER
ADOC_DOCUMENT NEXT * , CHARACTER
ADOC_COMMENT NEXT * , CHARACTER
ADOC_ARTICLEID NEXT * , CHARACTER
ADOC_ARTICLENAME NEXT * , CHARACTER

Enregistrement 1 : Rejeté - Erreur sur table ARTICLE_DOCUMENT, colonne ADOC_DOCUMENT.
Un champ du fichier de données dépasse la longueur maximale autorisée
Enregistrement 2 : Rejeté - Erreur sur table ARTICLE_DOCUMENT, colonne ADOC_DOCUMENT.
Un champ du fichier de données dépasse la longueur maximale autorisée

Table ARTICLE_DOCUMENT :
Chargement réussi de 0 Lignes.
2 Lignes chargement impossible dû à des erreurs de données.
0 Lignes chargement impossible car échec de toutes les clauses WHEN.
0 Lignes chargement impossible car tous les champs étaient non renseignés.


Vous-vous m'aider un peu.
madina est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/06/2006, 16h29   #2
in
Membre Expert
 
Avatar de in
 
Inscription : avril 2003
Messages : 1 609
Détails du profil
Informations personnelles :
Localisation : France, Finistère (Bretagne)

Informations forums :
Inscription : avril 2003
Messages : 1 609
Points : 1 564
Points : 1 564
ben apparemment ta colonne ADOC_DOCUMENT est trop petite ...

peut etre faut il que tu ALTER la table en lui mettant une taille plus grande?
__________________
"If email had been around before the telephone was invented, people would have said, 'Hey, forget email! With this new telephone invention I can actually talk to people!"

Besoin d'une nouvelle méthode pour développer ? -> http://www.la-rache.com/
in est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/06/2006, 16h35   #3
Débutant
 
Inscription : avril 2005
Messages : 464
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 464
Points : 69
Points : 69
Par défaut sql loader :erreur chargement de données

Mais la colonne est de type BLOB et elle doit acceuillir le contenu d'un fichier Word.Et je ne vois comment choisir un type plus grand que BLOB pour ce ces genres de données.
madina est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/06/2006, 16h45   #4
Expert Confirmé
 
Homme
Chef de projet en SSII
Inscription : janvier 2004
Messages : 2 866
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Chef de projet en SSII
Secteur : Conseil

Informations forums :
Inscription : janvier 2004
Messages : 2 866
Points : 3 448
Points : 3 448
Peux-tu nous indiquer :
- ta version d'oracle (tu aurais dû le faire dès le début)
- le desc de ta table
- ton fichier de contrôle
__________________
Un problème sans solution est un problème mal posé

Merci de poser vos questions sur le forum, je ne réponds pas aux questions posées par MP.
plaineR est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/06/2006, 16h48   #5
Expert Confirmé
 
Homme
Chef de projet en SSII
Inscription : janvier 2004
Messages : 2 866
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Chef de projet en SSII
Secteur : Conseil

Informations forums :
Inscription : janvier 2004
Messages : 2 866
Points : 3 448
Points : 3 448
Pour plus d'informations sur le chargement de colonnes BLOB avec SQL*Loader :
http://download-uk.oracle.com/docs/c...g.htm#i1006803
__________________
Un problème sans solution est un problème mal posé

Merci de poser vos questions sur le forum, je ne réponds pas aux questions posées par MP.
plaineR est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/06/2006, 16h50   #6
Débutant
 
Inscription : avril 2005
Messages : 464
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 464
Points : 69
Points : 69
Par défaut sql loader :erreur chargement de données

voici le desc de la table Oraclequi doit acceuillir les données :
SQL> desc article_document
Nom NULL ? Type
----------------------------------------- -------- ---------------------
ADOC_INDEX NOT NULL NUMBER(6)
ADOC_NAME NOT NULL VARCHAR2(50)
ADOC_PATH VARCHAR2(250)
ADOC_DOCUMENT BLOB
ADOC_COMMENT VARCHAR2(100)
ADOC_ARTICLEID NOT NULL NUMBER(38)
ADOC_ARTICLENAME NOT NULL VARCHAR2(50)

Je suis sur Oracle 8i.
et le fichier de contrôle :

LOAD DATA
INFILE 'C:\Syscost\load\338.DAT'
into table article_document
FIELDS TERMINATED by ','
(adoc_index ,
adoc_name ,
adoc_path ,
adoc_document ,
adoc_comment ,
adoc_articleid ,
adoc_articlename )
madina est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/06/2006, 17h17   #7
in
Membre Expert
 
Avatar de in
 
Inscription : avril 2003
Messages : 1 609
Détails du profil
Informations personnelles :
Localisation : France, Finistère (Bretagne)

Informations forums :
Inscription : avril 2003
Messages : 1 609
Points : 1 564
Points : 1 564
je ne sais pas si ça fait avancer le schmilblick mais bon, moi les fichiers ctl je les fait avec le stypes de données :

Code :
1
2
3
4
5
6
7
8
9
10
11
LOAD DATA
INFILE 'C:\Syscost\load\338.DAT'
INTO TABLE article_document
FIELDS TERMINATED BY ','
(adoc_index decimal external,
adoc_name char(50),
adoc_path char(250),
adoc_document blob,
adoc_comment char(100),
adoc_articleid integer external,
adoc_articlename char(50))
par exemple. En meme temps je ne sais pas si blob passe ...

ouias, je crois que j'aurais dû me taire ...
__________________
"If email had been around before the telephone was invented, people would have said, 'Hey, forget email! With this new telephone invention I can actually talk to people!"

Besoin d'une nouvelle méthode pour développer ? -> http://www.la-rache.com/
in est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/06/2006, 17h19   #8
Expert Confirmé
 
Homme
Chef de projet en SSII
Inscription : janvier 2004
Messages : 2 866
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Chef de projet en SSII
Secteur : Conseil

Informations forums :
Inscription : janvier 2004
Messages : 2 866
Points : 3 448
Points : 3 448
Il y a un truc que je ne comprends pas. Ton fichier word est inclus dans ton fichier data ?
=> peux-tu nous donner ton fichier data, STP ?
__________________
Un problème sans solution est un problème mal posé

Merci de poser vos questions sur le forum, je ne réponds pas aux questions posées par MP.
plaineR est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/06/2006, 17h34   #9
Débutant
 
Inscription : avril 2005
Messages : 464
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 464
Points : 69
Points : 69
Par défaut sql loader :erreur chargement de données

Merci pour ton aide.
mais là il me signale encore :
Erreur de syntaxe à la ligne 5,
")" attendu, "," trouvé
adoc_index decimal external(6,1).


Apparemment c'est le decimal(6,1) qui le géne
madina est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/06/2006, 18h12   #10
Débutant
 
Inscription : avril 2005
Messages : 464
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 464
Points : 69
Points : 69
Par défaut sql loader :erreur chargement de données

voici le fichier data en piéces jointes.
Donc là vous remarquerez facilement le champ adoc_document qui est le contenu du fichier avec des suites de 0123b10.

Et je pense que c'est ça qui fait que ça n'arrive pas à se contenir dans le champ de type blob.
En effet, le fichier est de poni DAT, je l'ai eu par un UNLOAD des données de la table correspondante qui était sous Syabse.
madina est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/06/2006, 18h34   #11
j6m
Membre du Club
 
Inscription : février 2006
Messages : 86
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 86
Points : 58
Points : 58
Par défaut oui c'est mieux quand c'est typé

SQL*Loader can load data from a "primary data file", SDF (Secondary Data file - for loading nested tables and VARRAYs) or LOBFILE. The LOBFILE method provides an easy way to load documents, images and audio clips into BLOB and CLOB columns. Look at this example:

Given the following table:

CREATE TABLE image_table (
image_id NUMBER(5),
file_name VARCHAR2(30),
image_data BLOB);

Control File:

LOAD DATA
INFILE *
INTO TABLE image_table
REPLACE
FIELDS TERMINATED BY ','
(
image_id INTEGER(5),
file_name CHAR(30),
image_data LOBFILE (file_name) TERMINATED BY EOF
)
BEGINDATA
001,image1.gif
002,image2.jpg
j6m 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 12h51.


 
 
 
 
Partenaires

Hébergement Web