|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Débutant
Inscription : avril 2005 Messages : 464 ![]() |
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. |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Inscription : avril 2003 Messages : 1 609 ![]() |
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/ |
|
|
00
|
|
|
#3 |
|
Débutant
Inscription : avril 2005 Messages : 464 ![]() |
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.
|
|
|
00
|
|
|
#4 |
|
Expert Confirmé
![]() Chef de projet en SSII Inscription : janvier 2004 Messages : 2 866 ![]() |
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. |
|
|
00
|
|
|
#5 |
|
Expert Confirmé
![]() Chef de projet en SSII Inscription : janvier 2004 Messages : 2 866 ![]() |
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. |
|
|
00
|
|
|
#6 |
|
Débutant
Inscription : avril 2005 Messages : 464 ![]() |
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 ) |
|
|
00
|
|
|
#7 | ||
|
Membre Expert
![]() Inscription : avril 2003 Messages : 1 609 ![]() |
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 :
__________________
"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/ |
||
|
|
00
|
|
|
#8 |
|
Expert Confirmé
![]() Chef de projet en SSII Inscription : janvier 2004 Messages : 2 866 ![]() |
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. |
|
|
00
|
|
|
#9 |
|
Débutant
Inscription : avril 2005 Messages : 464 ![]() |
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 |
|
|
00
|
|
|
#10 |
|
Débutant
Inscription : avril 2005 Messages : 464 ![]() |
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. |
|
|
00
|
|
|
#11 |
|
Membre du Club
![]() Inscription : février 2006 Messages : 86 ![]() |
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 |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com