Bonjour,

J'obtiens une erreur d'import sur le chargement d'un fichier sur une base Oracle 10g XE alors que cela fonctionne sur une base 11.g
Pour information, voici le paramétrage de ma base 10gXE
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
	NLS_LANGUAGE	AMERICAN
	NLS_TERRITORY	AMERICA
	NLS_CURRENCY	$
	NLS_ISO_CURRENCY	AMERICA
	NLS_NUMERIC_CHARACTERS	.,
	NLS_CHARACTERSET	AL32UTF8
	NLS_CALENDAR	GREGORIAN
	NLS_DATE_FORMAT	DD-MON-RR
	NLS_DATE_LANGUAGE	AMERICAN
	NLS_SORT	BINARY
	NLS_TIME_FORMAT	HH.MI.SSXFF AM
	NLS_TIMESTAMP_FORMAT	DD-MON-RR HH.MI.SSXFF AM
	NLS_TIME_TZ_FORMAT	HH.MI.SSXFF AM TZR
	NLS_TIMESTAMP_TZ_FORMAT	DD-MON-RR HH.MI.SSXFF AM TZR
	NLS_DUAL_CURRENCY	$
	NLS_COMP	BINARY
	NLS_LENGTH_SEMANTICS	BYTE
	NLS_NCHAR_CONV_EXCP	FALSE
	NLS_NCHAR_CHARACTERSET	AL16UTF16
	NLS_RDBMS_VERSION	10.2.0.1.0
et le paramétrage de ma base 11g
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
	NLS_LANGUAGE	AMERICAN
	NLS_TERRITORY	AMERICA
	NLS_CURRENCY	$
	NLS_ISO_CURRENCY	AMERICA
	NLS_NUMERIC_CHARACTERS	.,
	NLS_CHARACTERSET	WE8MSWIN1252
	NLS_CALENDAR	GREGORIAN
	NLS_DATE_FORMAT	DD-MON-RR
	NLS_DATE_LANGUAGE	AMERICAN
	NLS_SORT	BINARY
	NLS_TIME_FORMAT	HH.MI.SSXFF AM
	NLS_TIMESTAMP_FORMAT	DD-MON-RR HH.MI.SSXFF AM
	NLS_TIME_TZ_FORMAT	HH.MI.SSXFF AM TZR
	NLS_TIMESTAMP_TZ_FORMAT	DD-MON-RR HH.MI.SSXFF AM TZR
	NLS_DUAL_CURRENCY	$
	NLS_COMP	BINARY
	NLS_LENGTH_SEMANTICS	BYTE
	NLS_NCHAR_CONV_EXCP	FALSE
	NLS_NCHAR_CHARACTERSET	AL16UTF16
	NLS_RDBMS_VERSION	11.1.0.7.0
La seule différence se trouve au niveau du CHARACTERSET.

Mon fichier de contrôle est le suivant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
LOAD DATA
INFILE 'C:\ARTLIB.txt'
TRUNCATE
INTO TABLE ARTLIB
FIELDS TERMINATED BY "|"
(ARTID CHAR(7),
ARTLIB1 CHAR(255),
ARTAILLE1 CHAR(255),
ARTAILLE2 CHAR(255),
ARTLIB2 CHAR(255))
Le chargement en Oracle 11g fonctionne sans erreur et les accents sont importés correctement.
Le chargement en Oracle 10g XE me renvoie l'erreur suivante:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
   Nom de colonne               Position   Long.  Séparat. Encadrem. Type de données
------------------------------ ---------- ----- ---- ---- ---------------------
ARTIDCIO                            FIRST     7   |       CHARACTER            
ARTLIB1                              NEXT   255   |       CHARACTER            
ARTAILLE1                            NEXT   255   |       CHARACTER            
ARTAILLE2                            NEXT   255   |       CHARACTER            
ARTLIB2                              NEXT   255   |       CHARACTER            
 
Enregistrement 24036 : Rejeté - Erreur sur table ARTLIB, colonne ARTLIB1.
ORA-12899: valeur trop grande pour la colonne ARTLIB1 (réelle : 258, maximum : 255)
Pourtant la ligne en erreur sur l'import sur la colonne ARTLIB1 contient 253 caractères. J'ai vu que les accents passaient sur 2 bytes d'où le dépassement des 255 caractères.
J'ai donc essayé d'ajouter à la 2ème ligne du fichier de contrôle CHARACTERSET WE8MSWIN2152 pour prendre en compte le même jeu de caractère que la base 11g, mais rien n'y fait, j'ai toujours la même erreur.

Quelqu'un aurait une solution?
D'avance merci.