Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Bonjour,
J'ai une application qui ne fonctionne pas correctement lorsque je dois traiter des caractères chinois.
Je suis en PB 10.2.0 build 8075 avec une base Oracle 10.2.0.3.0 UNICODE.
Un exemple parmis d'autres :
SELECT sum ( mnt_prs ) , sum ( mnt_fou ) into :<Var1> , :<Var2> FROM sat_facl WHERE sat_facl.cod_soc ='LL' AND sat_facl.cod_eta ='TRAIN' AND sat_facl.typ_uat ='B' AND sat_facl.num_uat ='TRAINSES071000004' AND sat_facl.cod_etp ='采购' AND sat_facl.num_lif =3
a) Avec un disablebind=1, les variables retournées sont à null (alors qu'il y a bien des données)
b) Avec un disablebind=0, j'ai le message d'erreur oracle suivant :
*** ERROR 1460 ***(rc -1) : ORA-01460: demande d'une conversion non implémentée ou irréaliste
Quelqu'un aurait-il une idée ? J'avoue sècher lamentablement ...
Cordialement,
Sebastouche
Hors ligne
salut,
ca marchait avant ca ?
et directement depuis un editeur sql, ca fonctionne bien ?
Hors ligne
Avant, nous n'avions pas de client chinois ...
Via l'éditeur PB, çà marche, mais le pauvre Toad supporte mal (ainsi que SQL Plus)
Sébastouche
Dernière modification par Sebastouche (30-01-2008 17:28:26)
Hors ligne
Bonsoir, as-tu essayé dans la base de registre :
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0\NLS_LANG=UTF8
Hors ligne
ErAsORz a écrit:
Bonsoir, as-tu essayé dans la base de registre :
Code: reg
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0\NLS_LANG=UTF8
je te conseil de faire une recherche dans la base de registre avec 'NLS_LANG' et modifier chaun avec la bonne valeur ( surement celle de ErAsORz) mais il se peut que tu ais plusieur HOMEX
les HOMEX dépendent du nombre d'instal effectuées
je pense qu'il faut voir aussi NLS_CHARACTERSET
Et
Hors ligne
tu trouveras plus d'info ici sur NLS_LANG
Hors ligne
Bonjour,
Et merci pour ta bienvenue.
J'avais modifié le NLS_LANG. Sa valeur est "FRENCH_FRANCE.AL32UTF8".
Une autre application fonctionne correctement, mais pas la mienne ... au début, je suspectais un maraboutage ...
Je vais essayer avec les paramètres que tu m'as fournis.
Merci encore,
Sébastouche
Hors ligne
Bonjour
Tu peux essayer aussi cette syntaxe dans ton select avant d'aller voir la base de registre
Cordialement
** Exemple sur une date SELECT TO_CHAR(sysdate,'dd monty yyyy','nls_date_language=french') FROM DUAL ** Voir le détail nls_xxxxxxxxxxx =
Hors ligne
Merci,
En standard, je n'ai pas à lire la base de registre.
Je recherche pourquoi mon SQL ne passe pas.
Je suis ouvert à toutes propositions !
Sébastouche
Hors ligne
Bonjour,
Pour information, en modifiant le paramètre du client Oracle NLS_LANG=FRENCH_FRANCE.AL32UTF8 je n ' ai plus le souci.
Mais hélas, le client semble déjà avoir ce paramètre et a toujours le souci.
Si quelqu'un a une piste ...
Sebastouche
Hors ligne
Sebastouche a écrit:
Mais hélas, le client semble déjà avoir ce paramètre et a toujours le souci.
Salut
tu as verifié chez le client l'ensemble des NLS_LANG de la base de registre ?
Hors ligne
Hélas, non !
Je ne peux pas accéder à ces paramètres chez le client.
Je dois faire confiance à ce que l'on m'affirme ...
J'avoue, c'est un peu Rock'n Roll ...
Sebastouche
Hors ligne