im essayant d'insérer une valeur BigInteger dans l'oracle database.im essayant comme ceci:comment insérer valeur BigInteger dans la base de données Oracle
BigInteger a=new BigInteger("4280972057205720579205792572075927209857");
String str=new String(a.toByteArray());
maintenant dans la base de données:
PerparedStatement pstmt=con.prepareStatement("insert into database values(?)");
pstmt.setString(1,str);
pstmt.executeUpdate();
si im en utilisant str="hello"
alors cela fonctionne bien. mais si im en utilisant str=new String(a.toByteArray())
alors rien (null) n'est inséré dans la base de données. pourquoi est-ce si.please expliquer et également suggérer une méthode pour le faire.
mon type de données de la colonne dans la base de données est varchar2 (4000). – condinya
bonjour les gars .... j'ai utilisé la méthode toString et cela fonctionne. Mais je veux savoir pourquoi je n'étais pas capable d'insérer en utilisant mon approche précédente. Y at-il un problème de compatibilité entre java String et oracle varchar2. – condinya
La chaîne que vous avez créée contient probablement des valeurs d'octet illégales. Essayez de l'imprimer (avec _System.out.println_ ou similaire) avant d'appeler le SQL. –