Bonjour,
Lors d'une liaison d'une base de données DB2 vers ACCESS, je rencontre une erreur pour les tables qui comportent des nombres à virgule.
C'est simple, si la valeur d'un champ décimal est autre que 0 (ex. 1 ou 1,34 ou 0,8765), toutes les valeurs de la table ACCESS sont remplacées par "#Erreur". Lors du clic sur une des valeurs, j'ai le message:
Je vérifie le type de ma table liée ACCESS et j'ai les valeurs suivantes:"La précision du champ décimal est trop petite pour accepter la valeur que vous avez essayé d'ajouter."
Ce qui me semble "bien" puisque j'ai les mêmes valeurs dans ma table DB2.Taille du champ: Décimal
Précision: 6
Échelle: 4
Décimales: Auto
J'ai essayé de modifier les paramètres régionales pour utiliser le "point" comme séparateur de décimales et les données se sont affichées correctement. Malheureusement, cette solution ne peut être envisageable pour cause d'imcompatibilité avec le système.
Alors, je crois fortement que le problème vient du driver ODBC (qui interprète mal le séparateur de décimal) puisque j'ai trouvé des problèmes semblables avec Oracle et la solution était de changer de driver pour celui de Microsoft.
Sur Access 2000, le problème ne se posait pas puisqu'il convertissait les valeurs "décimales" DB2 en valeurs "réels double".
J'ai vu qu'un driver Microsoft pour DB2 existe, mais je ne l'ai pas sur mon poste et je ne le trouve pas sur Internet. Il s'agit de "Microsoft ODBC Driver for DB2".
Le driver que j'utilise est "IBM DB2 ODBC DRIVER" avec la version "8.01.07.447".
Si quelqun a le driver en question ou qu'il a une autre solution à me proposer, n'hésitez pas, car ça fait déjà un certain temps que je cherche à résoudre ce problème.
Je suis sous Windows XP.
Merci.






Répondre avec citation
Partager