Bonjour à tous
je travaille depuis peu sur un projet Java qui requête une base Oracle, et je rencontre un problème que j'ai du mal à résoudre :
J'essaye de faire une requête simple dans une base de données :
SELECT DONNEE_A FROM TABLE_T WHERE DONNEE_B = 'valeur'
DONNEE_A est de type NUMBER
DONNEE_B de type NVARCHAR2(80 CHAR)
Lorsque j'exécute mon statement j'ai l'erreur (je ne mets que le début) :
J'ai l'impression que le problème vient du type NUMBER, je ne sais pas si il correspond à Integer en java, ou bien à BigDecimal, j'ai essayé plusieurs choses et je n'arrive pas à récupérer cette donnée.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 java.lang.NumberFormatException at java.math.BigDecimal. (BigDecimal.java:398) at java.math.BigDecimal.(BigDecimal.java:671) at com.ibm.db.base.DatabaseStringField.setFieldObject (DatabaseStringField.java) at com.ibm.db.base.DatabaseTypeField.setObject (DatabaseTypeField.java) at com.ibm.db.base.DatabaseResultTable.setInputValues (DatabaseResultTable.java) at com.ibm.db.base.DatabaseResultTable.execute (DatabaseResultTable.java) at com.ibm.db.SelectStatement.createResultTable (SelectStatement.java) at com.ibm.db.SelectStatement.execute (SelectStatement.java)
(en réalité la donnée_A est un simple chiffre, qui rentrerait même dans un short en java ...)
Quelqu'un a-t-il une idée sur l'origine de l'erreur ? Un mini exemple sur la récupération en Java d'un champ Oracle de type NUMBER serait aussi le bienvenu.
Merci d'avance.
Partager