|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Invité de passage
![]() Inscription : janvier 2006 Messages : 3 ![]() |
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 :
Code :
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. |
||||
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Inscription : avril 2006 Messages : 1 024 ![]() |
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...
|
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : janvier 2006 Messages : 3 ![]() |
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).
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com