Bonjour,

J'ai une base de données Oracle 8.1.7 qui contient des données de différents pays tel que la France, l'espagne, la belgique....

On me demande d'insérer des données russes qui sont encodées en CP1251.
Je peux convertir ces données en unicode si je le souhaite mais je ne sais pas du tout comment charger ces données dans la base.
Le chargement se fait en sql loader , ma ligne de commande est :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
sqlldr dbadwh/dbadwh@dwh source/RUS_CHR_TIE_GAR_1.ctl data=../data/RUSGARAN_UTF8.DAT
En effet, si je charge les données directement sans transformer le fichier de données (donc les données sont en CP1251), le chargment se passe bien mais les caractères syrillic ne sont pas lisibles.

Il faut donc que je transforme le fichier en UTF8, les caractères sont corrects nsi je regarde le fichier de données mais le chargement ne passe pas bien,

voici le message d'erreur :

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
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
SQL*Loader: Release 8.1.7.0.0 - Production on Me Jun 14 10:34:16 2006
 
(c) Copyright 2000 Oracle Corporation.  All rights reserved.
 
Fichier de contrôle :   source/RUS_CHR_TIE_GAR_1.ctl
Fichier de données :      ../data/RUSGARAN_UTF8.DAT
  Fichier défectueux :     source/RUSGARAN_UTF8.bad
  Fichier de rebut :  aucune spécification
 
 (Allouer tous les rebuts)
 
Nombre à charger : ALL
Nombre à sauter: 0
Erreurs permises: 50
Tableau de liens :     64 lignes, maximum de 65536 octets
Continuation :    aucune spécification
Chemin utilisé:      Classique
 
Table TMP_TIE_GAR, chargé à partir de chaque enregistrement physique.
Option d'insertion en vigueur pour cette table : APPEND
 
   Nom de colonne               Position   Long.  Séparat. Encadrem. Type de données
------------------------------ ---------- ----- ---- ---- ---------------------
CODE_PAYS                                                 CONSTANT
    La valeur est 'RUS'
FLAG_CREATION                                             CONSTANT
    La valeur est 'N'
FLAG_MODIF                                                CONSTANT
    La valeur est 'N'
ADRESSE                              1:40    40           CHARACTER            
TIERS_CLIENT                        41:51    11           CHARACTER            
CODE_POSTAL                         85:90     6           CHARACTER            
VILLE                              98:137    40           CHARACTER            
NOM                               251:290    40           CHARACTER            
 
Enregistrement 1 : Rejeté - Erreur sur table TMP_TIE_GAR, colonne TIERS_CLIENT.
ORA-01722: Nombre non valide

et il dit "nombre non valide" pour tous les enregistrements.

Auriez vous une solution?



Merci


Charlotte,

Boulogne (92)