Précédent   Forum des professionnels en informatique > Bases de données > Oracle > Import/Export
Import/Export Forum d'entraide sur les outils d'import/export 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 03/01/2011, 14h35   #1
Invité de passage
 
Inscription : janvier 2006
Messages : 3
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 3
Points : 1
Points : 1
Par défaut Encore une histoire d'import et de NLS

Bonjour tous,

Après quelques heures de tests, de lecture et d'arrachage de cheveux sur la question des paramètres NLS, je me permets de vous solliciter.

Voici le contexte :
Je souhaite mettre en place un environnement de développement interne pour pouvoir travailler sur l'application d'un client dont j'ai récupéré la maintenance applicative (aujourd'hui il n'a que sa prod et l'ancien mainteneur bossait directement dessus ).
Le client en question m'a donc fourni un export de sa base Oracle 9i.

Voici les paramètres de sa base source :
Code :
1
2
3
4
NLS_NCHAR_CHARACTERSET = AL16UTF16
NLS_LANGUAGE = FRENCH
NLS_TERRITORY = AMERICA
NLS_CHARACTERSET = US7ASCII
Au niveau session pour le schéma applicatif :

Code :
1
2
3
NLS_LANGUAGE = FRENCH
NLS_TERRITORY = AMERICA
NLS_CHARACTERSET = US7ASCII
L'export a été fait en US7ASCII apriori.


J'ai donc créé une base de données US7ASCII, bien que cela me laisse dubitatif. Je fais l'import avec NLS_LANG=FRENCH_FRANCE.US7ASCII et si je me connecte au schéma avec SQL Plus (sous Linux), je vois bien les accents.

Cependant, lorsque je lance mon appli (BMC Remedy AR System 6.3, si certains connaissent) et que je me connecte dessus avec son client propriétaire sous Windows, les caratères accentués apparaissent comme des petits rectangles.
Par contre, je peux saisir des accents via ce client et ils sont correctement réaffichés par la suite. Dans la base avec sqlplus ils apparaissent ainsi : "ééé".
L'appli en question utilise le client Oracle pour se connecter à la base et apriori ses paramètres de session sont corrects.

Et là je ne sais plus quoi tenter.
Est-ce que quelqu'un aurait une petite idée de comment récupérer ces accents ?
J'ai lu le tuto sur les NLS_LANG, sur le fait qu'il ne fallait pas nécessairement que le client et la base aient le même character set. J'ai lu également que si le character set était US7ASCII, Oracle n'effectuait aucune conversion ?

Merci pour votre aide.
macmorning est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/01/2011, 19h12   #2
Membre Expert
 
Inscription : avril 2006
Messages : 1 024
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 1 024
Points : 1 175
Points : 1 175
c'est un pb de charset au niveau de ton client à mon avis: base de registres, parématrage de tes applis clientes etc... entre ton appli et sqlplus, ils ne doivent pas avoir le meme, du coup y'a un décalage quand l'un écrit et l'autre lit...
remi4444 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2011, 08h49   #3
Invité de passage
 
Inscription : janvier 2006
Messages : 3
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 3
Points : 1
Points : 1
C'est le serveur d'appli AR System, sous Linux, sur la même machine que la base de données, qui se connecte à celle-ci. L'appli cliente ne se connecte pas directement à la base.
Le client point de vue Oracle est donc le serveur d'appli. Or, il utilise le caractère set défini dans l'environnement (NLS_LANG) de l'utilisateur Linux qui démarre le process en question.
J'ai testé différentes valeurs pour NLS_LANG, et mon appli ne démarre qu'avec US7ASCII (en FRENCH ou AMERICAN). Si je mets autre chose en espérant que Oracle se charge de faire les conversions qui vont bien, le process tombe tout de suite (plein d'erreurs SQL).
macmorning 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 15h08.


 
 
 
 
Partenaires

Hébergement Web