Bonjour à tous
j'ai un petit problème avec oracle.
j'utilise le code suivant
ps.setString(position, StringUtils.abbreviate(value, ps.getParameterMetaData().getPrecision(position)));
ce code sur toutes mes bases binde le paramètre position avec la valeur value et si value a une valeur plus longue que ne le permets la colonne associée au paramètre la valeur est tronquée.
1 2 3 4
| ps.setString(5, StringUtils.abbreviate("ceci est une valeur courte", 30));
//ceci est une valeur courte
ps.setString(5, StringUtils.abbreviate("ceci est une valeur beaucoup trop longue pour entrer dans un champs de 30 caractères", 30));
//ceci est une valeur beaucou... |
Mais je suis passé sous oracle qui implémente bien la méthode ps.getParameterMetaData().getPrecision(position).
Mais voilà le code source de cette méthode chez Oracle est
1 2 3 4 5 6
| public int getPrecision(int i)
throws SQLException
{
DBError.throwUnsupportedFeatureSqlException();
return -1;
} |
enorme surprise.
du coup je ne sais pas comment limiter la taille de mes string lorsque je fais un insert dans oracle.
merci
A+jyt
Partager