|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() Inscription : février 2010 Messages : 23 ![]() |
Bonjour,
Voici quelques temps que j'obtiens une erreur système, MCH5003, sans jamais êtres parvenus à identifier la cause et donc de corriger le problème. En effet j'utilise les APIs SQL CLI en RPG ile pour éviter d'écrire en SQLRPGLE. Tant que mes champs sélectionnés sont de type caractère (SQL_CHAR) aucun problème mais dès que je souhaite faire un select sur un champs numérique étendu (SQL_NUMERIC) j'obtiens un MCH5003 lors du fetch de la requête! Si quelqu'un a déjà été confronté a ce problème et qu'il connaisse un moyen autre que de convertir ce champ en caractère, je serais heureux d'avoir un peu d'aide. Par avance merci beaucoup. |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Inscription : novembre 2004 Messages : 1 298 ![]() |
Colle ici stp toute l'instruction SQLBindCol et la totalité de l'instruction Fetch avec les définitions RPG des zones fetchées.
|
|
|
00
|
|
|
#3 |
|
Invité régulier
![]() Inscription : février 2010 Messages : 23 ![]() |
Je pense que je suis sur une piste. Cela concerne la manière de documenter les paramètres de la fonction SQLBindCol(). En fait il faut indiquer à la fois la partie entière et fractionnaire de la zone qui reçoit les données du Fetch pour une zone numérique.
La valeur de ces paramètres est issue du petit calcul décrit à l'url suivante: http://www-03.ibm.com/systems/i/soft...b2/clifaq.html à la rubrique Working with DECIMAL and NUMERIC Column Types Je testerais demain @+. |
|
|
00
|
|
|
#4 | ||
|
Invité régulier
![]() Inscription : février 2010 Messages : 23 ![]() |
Salut Mercure,
Apparemment je ne sait pas exploiter la piste. Voici une partie du code, Code :
|
||
|
|
00
|
|
|
#5 | ||
|
Invité régulier
![]() Inscription : février 2010 Messages : 23 ![]() |
Bonjour,
ça y est, ça marche, j'avais inversé le calcul du 5ièm et 6ièm paramettre et le SQLBindCol se fait comme ça maintenant: Code :
|
||
|
|
00
|
|
|
#6 | ||
|
Membre Expert
![]() Inscription : novembre 2004 Messages : 1 298 ![]() |
Tu ferais bien d'écrire
Code :
car un jour ou l'autre, tu tomberas sur une zone qui contiendra des décimales. |
||
|
|
00
|
|
|
#7 |
|
Invité régulier
![]() Inscription : février 2010 Messages : 23 ![]() |
Salut,
merci du conseil, effectivement le %Len et plus précis pour une zone packé ainsi que le %DecPos pour ne pas oublier des petits en route. Une question concenant la fonction QSLBindCol() que je trouve fastidieuse lorsqu'il y a une trentaine de zones a Binder, y à t-il un moyen d'avoir une meilleure visibilité au niveau du code car le FETCH INTO du SQLRPGLE est bien meilleur sur ce plan là je trouve (?). Kiko. |
|
|
00
|
|
|
#8 | |
|
Membre Expert
![]() Inscription : novembre 2004 Messages : 1 298 ![]() |
Citation:
|
|
|
|
00
|
|
|
#9 | |
|
Membre Expert
![]() Patrick Inscription : mai 2008 Messages : 821 ![]() |
Citation:
Dans quel cas utilises-tu le SQLCLI : - Pour lire des résults sets ? - Pour lire une autre base que DB2 à travers une driver JDBC ? - ... ? |
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com