Précédent   Forum des professionnels en informatique > Bases de données > Oracle
Oracle Forum Oracle : le serveur, les outils, ... Voir F.A.Q Oracle Tutoriels Oracle
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 02/08/2007, 14h13   #1
Invité de passage
 
Inscription : août 2007
Messages : 7
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 7
Points : 0
Points : 0
Par défaut Sql*loader et zone varchar(30)

Mon sqlload se plante ave le problème suivant :

enregistrement 348882 : Rejeté - Erreur sur table OR_ADRESSES, colonne LIGNE_SUPPLEMENTAIRE.
ORA-12899: valeur trop grande pour la colonne LIGNE_SUPPLEMENTAIRE (réelle : 32, maximum : 30)

Pourtant le texte à loader dans la colonne est
:

P.A. SERVICE DU TUTEUR GéNéRAL

Il a pourtant 30 de longueur et pas 32.
Es-ce à cause des 2 é minuscule ????

Merci de vos lumières.
Z000007 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/08/2007, 14h15   #2
Membre éclairé
 
Inscription : novembre 2002
Messages : 533
Détails du profil
Informations forums :
Inscription : novembre 2002
Messages : 533
Points : 359
Points : 359
pas d'espaces en fin de chaine ?
__________________
PpPool
PpPool est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/08/2007, 14h16   #3
Membre Expert
 
Avatar de Garuda
 
Homme Philippe CHIRCOP
Chef de projet
Inscription : juin 2007
Messages : 1 109
Détails du profil
Informations personnelles :
Nom : Homme Philippe CHIRCOP
Localisation : France

Informations professionnelles :
Activité : Chef de projet
Secteur : Bâtiment

Informations forums :
Inscription : juin 2007
Messages : 1 109
Points : 1 559
Points : 1 559
Quel est la valeur de NLS_CHARACTERSET de la base de données ?
__________________
Garuda गरूड
Brahmâ la Guerre et Vishnu la Paix

Oracle 10.2.0.4 - Forms6i patch 17 - Toad 11.1 - sharePoint 2010
Garuda est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/08/2007, 14h18   #4
Membre Expert
 
Avatar de Garuda
 
Homme Philippe CHIRCOP
Chef de projet
Inscription : juin 2007
Messages : 1 109
Détails du profil
Informations personnelles :
Nom : Homme Philippe CHIRCOP
Localisation : France

Informations professionnelles :
Activité : Chef de projet
Secteur : Bâtiment

Informations forums :
Inscription : juin 2007
Messages : 1 109
Points : 1 559
Points : 1 559
Faire
Code :
1
2
 
SELECT vsize('P.A. SERVICE DU TUTEUR GéNéRAL') FROM dual
pour avoir la longueur de la chaîne
__________________
Garuda गरूड
Brahmâ la Guerre et Vishnu la Paix

Oracle 10.2.0.4 - Forms6i patch 17 - Toad 11.1 - sharePoint 2010
Garuda est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/08/2007, 14h18   #5
Invité de passage
 
Inscription : août 2007
Messages : 7
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 7
Points : 0
Points : 0
Citation:
Envoyé par PpPool
pas d'espaces en fin de chaine ?
NON
Z000007 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/08/2007, 14h19   #6
Invité de passage
 
Inscription : août 2007
Messages : 7
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 7
Points : 0
Points : 0
Citation:
Envoyé par Garuda
Quel est la valeur de NLS_CHARACTERSET de la base de données ?
AL32UTF8
Z000007 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/08/2007, 14h25   #7
Invité de passage
 
Inscription : août 2007
Messages : 7
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 7
Points : 0
Points : 0
VSIZE('P.A.SERVICEDUTUTEURGÉNÉRAL')
32

Pourquoi ???
Z000007 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/08/2007, 14h30   #8
Membre Expert
 
Avatar de Garuda
 
Homme Philippe CHIRCOP
Chef de projet
Inscription : juin 2007
Messages : 1 109
Détails du profil
Informations personnelles :
Nom : Homme Philippe CHIRCOP
Localisation : France

Informations professionnelles :
Activité : Chef de projet
Secteur : Bâtiment

Informations forums :
Inscription : juin 2007
Messages : 1 109
Points : 1 559
Points : 1 559
Explication approximative !
Tu es en UNICODE multibyte, donc 1 caractére accentué -> 2 octets
Citation:
Envoyé par oracle METALINK
B.1) Storage:
-------------

AL32UTF8 is a varrying width characterset, wich means that the code for a
character can be 1 , 2 , 3 or 4 bytes long.

This is a big difference with charactersets like WE8ISO8559P1 or WE8MSWIN1252.
There a character always 1 byte.

US7ASCII characters (A-Z,a-Z,0-1 and ./?,*# etc..) are in UTF8 1 byte, so for
most West european languages the impact is rather limited as only "special"
characters like ç, ñ , é will use more bytes then in a 8 bit characterset.
But if you convert a Cyrillic or Arabic system to AL32UTF8 then the data will
take considerable more bytes to store.

source Metalink Note:119119.1
__________________
Garuda गरूड
Brahmâ la Guerre et Vishnu la Paix

Oracle 10.2.0.4 - Forms6i patch 17 - Toad 11.1 - sharePoint 2010
Garuda est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/08/2007, 14h34   #9
Invité de passage
 
Inscription : août 2007
Messages : 7
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 7
Points : 0
Points : 0
En règle général, vous mettez lequel ???
Z000007 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/08/2007, 14h41   #10
Membre Expert
 
Avatar de Garuda
 
Homme Philippe CHIRCOP
Chef de projet
Inscription : juin 2007
Messages : 1 109
Détails du profil
Informations personnelles :
Nom : Homme Philippe CHIRCOP
Localisation : France

Informations professionnelles :
Activité : Chef de projet
Secteur : Bâtiment

Informations forums :
Inscription : juin 2007
Messages : 1 109
Points : 1 559
Points : 1 559
Si tu n'as pas de langues "exotiques" à gérer ensemble (arabe, chinois, etc)
UTF8 (10G)
ou
WE8ISO8559P1 (8i,9i,10G)

Sinon
AL32UTF8 (la valeur par défaut)

ATTENTION :
Avant de changer ce paramètre dans ta base et si tu as des données existantes, sois extrémement prudent.
Il faut faire beaucoup de manips (selon les cas) AVANT/APRES la modif pour que les données ne soient pas foutues en l'air.
Lire TOUTE la littérature sur ce problème sur METALINK et ne le faire faire que par un utilisateur averti (moi-même, je ne m'y risquerais pas)!!
__________________
Garuda गरूड
Brahmâ la Guerre et Vishnu la Paix

Oracle 10.2.0.4 - Forms6i patch 17 - Toad 11.1 - sharePoint 2010
Garuda est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/08/2007, 14h47   #11
Invité de passage
 
Inscription : août 2007
Messages : 7
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 7
Points : 0
Points : 0
Comment faut-il faire pour changer le character_set ??

Merci d'avance de toutes vos réponse.
Z000007 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/08/2007, 14h49   #12
Membre Expert
 
Avatar de Garuda
 
Homme Philippe CHIRCOP
Chef de projet
Inscription : juin 2007
Messages : 1 109
Détails du profil
Informations personnelles :
Nom : Homme Philippe CHIRCOP
Localisation : France

Informations professionnelles :
Activité : Chef de projet
Secteur : Bâtiment

Informations forums :
Inscription : juin 2007
Messages : 1 109
Points : 1 559
Points : 1 559
Données existantes ou pas ?
__________________
Garuda गरूड
Brahmâ la Guerre et Vishnu la Paix

Oracle 10.2.0.4 - Forms6i patch 17 - Toad 11.1 - sharePoint 2010
Garuda est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/08/2007, 14h51   #13
Invité de passage
 
Inscription : août 2007
Messages : 7
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 7
Points : 0
Points : 0
Pas de problème je peux les recréer.
précision version oracle(10g)
Z000007 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/08/2007, 14h59   #14
Expert Confirmé
 
Inscription : février 2006
Messages : 3 433
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 3 433
Points : 3 462
Points : 3 462
Quelques précisions:
attention WE8ISO8859P1 ne contient pas le caractère euro (la liste des jeux de caractères comportant le caractère euro est ).

La façon la plus sûre de changer de jeu de caractères est de recréer une base et de faire un export/import. Vous pouvez aussi consulter le Globalization Guide à ce sujet avant de vous plonger dans les notes Metalink.
__________________
P. Forstmann

AskTom Forums OTN doc 8, 9, 10 et 11
pifor est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/08/2007, 15h02   #15
Membre Expert
 
Avatar de Garuda
 
Homme Philippe CHIRCOP
Chef de projet
Inscription : juin 2007
Messages : 1 109
Détails du profil
Informations personnelles :
Nom : Homme Philippe CHIRCOP
Localisation : France

Informations professionnelles :
Activité : Chef de projet
Secteur : Bâtiment

Informations forums :
Inscription : juin 2007
Messages : 1 109
Points : 1 559
Points : 1 559
Alors recrée toute ta base à partir de ZERO ( en choisissant l'option PERSONNALISEE).
Mais modifie les valeurs par défaut dans le 'WIZARD' de création afin de mettre
UTF8 ou WE8ISO8559P1 ou autre
__________________
Garuda गरूड
Brahmâ la Guerre et Vishnu la Paix

Oracle 10.2.0.4 - Forms6i patch 17 - Toad 11.1 - sharePoint 2010
Garuda est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/08/2007, 15h20   #16
Membre Expert
 
Avatar de Garuda
 
Homme Philippe CHIRCOP
Chef de projet
Inscription : juin 2007
Messages : 1 109
Détails du profil
Informations personnelles :
Nom : Homme Philippe CHIRCOP
Localisation : France

Informations professionnelles :
Activité : Chef de projet
Secteur : Bâtiment

Informations forums :
Inscription : juin 2007
Messages : 1 109
Points : 1 559
Points : 1 559
Euh...

Je ne suis pas sur q'UTF8 soit 'mono' byte. A verifier !
__________________
Garuda गरूड
Brahmâ la Guerre et Vishnu la Paix

Oracle 10.2.0.4 - Forms6i patch 17 - Toad 11.1 - sharePoint 2010
Garuda est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/08/2007, 15h26   #17
Membre Expert
 
Avatar de Garuda
 
Homme Philippe CHIRCOP
Chef de projet
Inscription : juin 2007
Messages : 1 109
Détails du profil
Informations personnelles :
Nom : Homme Philippe CHIRCOP
Localisation : France

Informations professionnelles :
Activité : Chef de projet
Secteur : Bâtiment

Informations forums :
Inscription : juin 2007
Messages : 1 109
Points : 1 559
Points : 1 559
je pense finalement qu'UTF8 ne va pas !
Moi je prendrais

WE8ISO8859P15
__________________
Garuda गरूड
Brahmâ la Guerre et Vishnu la Paix

Oracle 10.2.0.4 - Forms6i patch 17 - Toad 11.1 - sharePoint 2010
Garuda est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/08/2007, 09h04   #18
Expert Confirmé
 
Inscription : février 2006
Messages : 3 433
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 3 433
Points : 3 462
Points : 3 462
Il n'est pas forcément nécessaire de recréer une base car il existe aussi une possibilité de recréer les tables en utilisant la sémantique longueur en caractère au lieu de la sémantique longueur en octet.

Exemple:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
 
SQL> 
SQL> SELECT * FROM v$version;
 
BANNER                                                                          
----------------------------------------------------------------                
Oracle DATABASE 10g Express Edition Release 10.2.0.1.0 - Product                
PL/SQL Release 10.2.0.1.0 - Production                                          
CORE	10.2.0.1.0	Production                                                      
TNS FOR 32-bit Windows: Version 10.2.0.1.0 - Production                         
NLSRTL Version 10.2.0.1.0 - Production                                          
 
SQL> SELECT * FROM nls_database_parameters WHERE parameter LIKE '%SET%';
 
PARAMETER                                                                       
------------------------------                                                  
VALUE                                                                           
--------------------------------------------------------------------------------
NLS_CHARACTERSET                                                                
AL32UTF8                                                                        
 
NLS_NCHAR_CHARACTERSET                                                          
AL16UTF16                                                                       
 
 
SQL> 
SQL> DROP TABLE tc;
 
TABLE dropped.
 
SQL> DROP TABLE tb;
 
TABLE dropped.
 
SQL> 
SQL> CREATE TABLE tb (c varchar2(5 byte));
 
TABLE created.
 
SQL> INSERT INTO tb VALUES ('ééééé');
INSERT INTO tb VALUES ('ééééé')
                       *
ERROR at line 1:
ORA-12899: value too large FOR COLUMN "TEST"."TB"."C" (actual: 10, maximum: 5) 
 
 
SQL> CREATE TABLE tc (c varchar2(5 char));
 
TABLE created.
 
SQL> INSERT INTO tc VALUES ('ééééé');
 
1 row created.
 
SQL> SELECT vsize(c) FROM tc;
 
  VSIZE(C)                                                                      
----------                                                                      
        10                                                                      
 
SQL> 
SQL> exit
Voir le Globalization Guide.
__________________
P. Forstmann

AskTom Forums OTN doc 8, 9, 10 et 11
pifor 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 04h18.


 
 
 
 
Partenaires

Hébergement Web