Précédent   Forum des professionnels en informatique > Bases de données > DB2
DB2 Forum d'entraide technique sur la base de données DB2. Voir aussi -> Rubrique DB2
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 08/03/2007, 11h28   #1
Invité régulier
 
Inscription : octobre 2002
Messages : 8
Détails du profil
Informations forums :
Inscription : octobre 2002
Messages : 8
Points : 5
Points : 5
Par défaut Problème de lecture des données avec un client v7

Bonjour,

Voici mon problème.
J'utilise une base de données en version 7.2.9 en codepage 437. Cette base se situe sur un serveur AIX.

Comme postes clients, j'utilise des Windows XP SP2

J'ouvre ma fenetre de commandes DB2

Sur mes colonnes contenant des valeurs décimales, si je fais les requêtes avec un client version 8 et que je positionne la variable DB2COUNTRY à 437, j'obtiens bien des valeurs avec des points, par exemple 6.2000

Par contre, avec un client 7 (meme le dernier pack), j'obtiens systématiquement des virgules (par exemple 6,2000), malgré le positionnement de ma variable DB2COUNTRY à 437.
Après maintes recherches, je me suis aperçu que les paramètres régionaux de Windows (France et donc séparateur décimale "," (virgule)) prenaient en quelque sorte le dessus avec mon client 7 et non avec mon client 8.

Par quelle option puis-je forcer mon client 7 à "reprendre la main" et à m'afficher des virgules ?

Merci d'avance à tous pour votre aide.
naikon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/03/2007, 16h43   #2
Invité régulier
 
Inscription : octobre 2002
Messages : 8
Détails du profil
Informations forums :
Inscription : octobre 2002
Messages : 8
Points : 5
Points : 5
J'ai trouvé la solution à mon problème
Pour ceux que cela intéresse

Citation:
En fait, pour que les valeurs remontent comme je le souhaite au niveau de mon client, je dois positionner la variable DB2COUNTRY à 1

Ainsi, dans ma fenetre DB2 CLP, tout apparait bien correctement

Le soucis est que le driver ODBC DB2 utilisé par mon application tiers ne prend pas cette variable d'environnement en compte et du coup, prend en compte le parametre régional de mon système d'exploitation

Par contre, si on positionne la variable d'environnement DB2CODEPAGE à 1252, ce qui peut paraitre surprenant puisque, par défaut, le chcp de mon client DB2 est en 1252, eh bien, le driver ODBC DB2 prend dès lors en compte la variable DB2COUNTRY !!!!

Dans le code, le programme doit regarder DB2COUNTRY uniquement si DB2CODEPAGE est "forcé".

Par conséquent, la solution avec mon client v7.2 pack 14 fonctionne avec DB2COUNTRY=1 et DB2CODEPAGE=1252

Le seul point gênant est que ces 2 variables impactes éventuellement les autres applications qui pourraient également utiliser DB2 pour se connecter à d'autres bases.
Je crois que la solution est de créer des instances clientes pour paramétrer chacune d'entre elles avec les paramètres voulus mais je ne suis pas expert là dedans et cela ne me bloque pas pour le moment
naikon est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h57.


 
 
 
 
Partenaires

Hébergement Web