Le forum (ô combien francophone) des utilisateurs de Powerbuilder.







Bonjour
j'ai un gros problème dans une DW , j'ai une colonne 'eur_total_amount' dont le format d'affichage est ###,##0.00
quand je retrieve des valeurs dans cette DW l'affichage de la colonne est parfait pour tous les montants ronds ( dont les décimales sont à 0 ex 150,00 )
par contre pour les montants avec décimales ça foire complétement ( ex : 19.36 en DB affiché 1936,00 sur ma DW )
j'ai l'impression que ce problème viens de survenir récemment. le format d'affichage ###,##0.00 est le même depuis des années.
je suis sous PB 9.0.3 build 8784 sur une DB Oracle 10g2
la colonne en DB est de type number(12,2) et de type decimal(2) dans la DW
j'ai vérifié mes paramètres régionnaux qui me semblent corrects (sep. décimal = virgule, digit grouping = point)
any ideas ?
Dernière modification par rincevent (14-03-2008 10:49:47)

Hors ligne











Bonjour,
Regarde dans DbParm si ce ne serait pas encore un problème de DisableBind ou de DisableUnicode
Hors ligne







Salut, merci pour ta réponse.
par contre pourrais tu être plus précis ? en quoi l'utilisation de DisableBind pourrait elle être liée à mon problème par exemple ?
il se trouve que récemment j'ai une fois utilisé DisableBind dans le DBParm mais je l'y ai ajouté seulement une fois en Debug.
voici mon DBParm actuel : CommitOnDisconnect='No',Timestamp=0,ConnectString='UID=xxx;PWD=xxx'
j'ai essayé en y ajoutant DisableBind = 1 : pas mieux
j'ai essayé en y ajoutant DisableBind = 0 : pas mieux
Dernière modification par rincevent (13-03-2008 17:44:16)

Hors ligne











Et en ajoutant DisableUnicode=1, ça ne marche pas mieux?
(normalement, c'est pour PB10, mais avec la 10G, il faut peut-être le gérer pour PB9)
Hors ligne







non ça ne marche pas mieux.
je pense avoir remonté un peu la source du problème, en effet j'ai trouvé une DW qui fonctionnait tjrs bien et je vois que dans celle la la colonne est de type number ( et pas decimal(2) ) et là ça fonctionne.
là je comprends que j'ai fait une modif dans le SQL de ma DW qui déconne (modif qui n'a rien à voir avec le problème) mais comme j'a modifié le SQL de la DW PB a rafraichit ses infos et donc je me retrouve avec une colonne spécifiée comme decimal(2) (ce qui me parait logique) sauf que du coup l'affichage déconne
et je ne sais pas comment je pourrais remplacer le type DW decimal(2) par number
donc j'ai tjrs mon problème. :-(

Hors ligne








rincevent a écrit:
non ça ne marche pas mieux.
je pense avoir remonté un peu la source du problème, en effet j'ai trouvé une DW qui fonctionnait tjrs bien et je vois que dans celle la la colonne est de type number ( et pas decimal(2) ) et là ça fonctionne.
là je comprends que j'ai fait une modif dans le SQL de ma DW qui déconne (modif qui n'a rien à voir avec le problème) mais comme j'a modifié le SQL de la DW PB a rafraichit ses infos et donc je me retrouve avec une colonne spécifiée comme decimal(2) (ce qui me parait logique) sauf que du coup l'affichage déconne
et je ne sais pas comment je pourrais remplacer le type DW decimal(2) par number
donc j'ai tjrs mon problème. :-(
en edit source non? ce problème me dit quelque chose..
Hors ligne







thezerg a écrit:
en edit source non?
ce problème me dit quelque chose..
peut etre mais j'ai testé l'appli compilé sur mon poste : ça foire, sur un autre c'est ok, je me demande si c'est pas au niveau de l'install du client oracle que ça bug, justement je l'ai réinstallé y a pas lgtemps..

Hors ligne










c'est un probleme de parametre regionnaux du poste / BDD
le separateur decimal
Hors ligne








JCZ a écrit:
c'est un probleme de parametre regionnaux du poste / BDD
le separateur decimal
J'avais remarqué que en fonction de si le poste était en € ou en Francs ça pouvait merder aussi..
Hors ligne
thezerg a écrit:
JCZ a écrit:
c'est un probleme de parametre regionnaux du poste / BDD
le separateur decimalJ'avais remarqué que en fonction de si le poste était en € ou en Francs ça pouvait merder aussi..
Oui. C'est ce que dit JCZ. Il a entièrement raison. Dans les paramètres régionaux on retrouve les formats de date, de monaie et de nombre.
Hors ligne







merci de vos réponses mais ça ne viens pas des paramètres régionaux, je les ai vérifiés, le programme les vérifie au lancement et sur 2 postes avec exactement les mêmes paramètres ça fonctionne différemment.
j'ai finalement trouvé, le responsable était la valeur de NLS_LANG dans la clé HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\Ora10g

Hors ligne








rincevent a écrit:
merci de vos réponses mais ça ne viens pas des paramètres régionaux, je les ai vérifiés, le programme les vérifie au lancement et sur 2 postes avec exactement les mêmes paramètres ça fonctionne différemment.
j'ai finalement trouvé, le responsable était la valeur de NLS_LANG dans la clé HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\Ora10g
Quelle est la valeur qui fonctionne?
Hors ligne







thezerg a écrit:
rincevent a écrit:
merci de vos réponses mais ça ne viens pas des paramètres régionaux, je les ai vérifiés, le programme les vérifie au lancement et sur 2 postes avec exactement les mêmes paramètres ça fonctionne différemment.
j'ai finalement trouvé, le responsable était la valeur de NLS_LANG dans la clé HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\Ora10gQuelle est la valeur qui fonctionne?
la valeur qui est celle du serveur je suppose, pour moi c'est AMERICAN_AMERICA.WE8ISO8859P15
( et avant j'avais FRENCH_BELGIUM.WE8MSWIN1252 ce qui faisait foirer le truc)

Hors ligne








rincevent a écrit:
thezerg a écrit:
rincevent a écrit:
merci de vos réponses mais ça ne viens pas des paramètres régionaux, je les ai vérifiés, le programme les vérifie au lancement et sur 2 postes avec exactement les mêmes paramètres ça fonctionne différemment.
j'ai finalement trouvé, le responsable était la valeur de NLS_LANG dans la clé HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\Ora10gQuelle est la valeur qui fonctionne?
la valeur qui est celle du serveur je suppose, pour moi c'est AMERICAN_AMERICA.WE8ISO8859P15
( et avant j'avais FRENCH_BELGIUM.WE8MSWIN1252 ce qui faisait foirer le truc)
Ok merci.
Hors ligne