jdbc instruction préparée avec oracle NUMÉRO de type

J'ai une application java qui établit une connexion jdbc à une Orcale base de données. Je cherche à insérer des données dans la base de données, mais je suis confus quand il s'agit de l'oracle type de NUMÉRO. J'ai trois colonnes dans ma table qui sont ces types, respectivement.

NUMBER(38,0)
NUMBER(20,0)
NUMBER(16,0)

Ma première question est de savoir quel type de type java, dois-je mettre les données, afin de l'utiliser dans une déclaration préparée.

Ma deuxième question est ce que l'opération de l'ensemble puis-je utiliser dans une déclaration préparée à l'avance afin d'insérer les données.

Permet de supposer que nous travaillons avec un certain NOMBRE(38,0). Aurais-je définir le type java de un BigInteger? Si j'avais un entier de 1 serait-il

 BigInteger one = new BigInteger(1);

Ensuite dans mon preparedStatement il serait

 PreparedStatement pstmt = conn.prepareStatement("INSERT INTO TABLE(bigInt) VALUES(?)");
 pstmt.setLong(1, one);

Ce qui semble ne pas fonctionner, donc je suppose que ce n'est pas correct. Toute aide serait appréciée.

avez-vous essayé setBigDecimal() docs.oracle.com/javase/6/docs/api/java/sql/..., java.les mathématiques.BigDecimal)
J'ai essayé setBigDecimal, c'est encore de me donner ORA-00911: caractère non valide. Je suis même à la construction et à l'impression de l'instruction sql insert et puis le coller dans sql developer et il fonctionne très bien. C'est seulement à défaut au sein de la java.
J'ai suivi quelques SORTE les mêmes questions à ce sujet..pas de réponses malheureusement 🙁 ..une réponse toutefois recommandé de le stocker en tant que chaîne de caractères..fait ce travail pour vous?
est que votre déclaration proprement dite, ou avez-vous modifié? Juste vous demander si vous avez laissé un point-virgule à la fin de la chaîne de commande - qui serait en SQL Developer mais jeter ORA-00911 via JDBC.
J'ai compris la question.. je suis embarrased-à-dire que, dans mon preparedStatment chaîne, j'ai ajouté un point-virgule à la fin conn.prepareStatement("INSERT INTO TABLE(bigInt) VALUES(?);"); Désolé.. je vous remercie pour l'aide

OriginalL'auteur medium | 2013-06-27