Bonjour,
on a une application qui toune sur une base de données Oracle Release 9.0.1.0.1 .
Nous voulons que cette application utilise l'encodage chinois, donc on a créé une nouvelle base de données qui utilise l'encodage ZHT32EUC.
On a exporter les données de la première base et les importer dans la deuxième. Lors de l'import ce message s'affiche :
1 2 3
|
import effectué dans le jeu de caractères WE8MSWIN1252 et le jeu NCHAR AL16UTF16
le serveur d'import utilise le jeu de caractères ZHT32EUC (conversion possible) |
L'import se fait avec succès.
Lors de l'exécution de la requête suivante :
1 2
|
Hibernate: update user set a=?, b=?, c=? |
on a le message d'erreur suivant :
1 2
|
ORA-01483: longueur non valide pour variable de lien DATE ou NUMBER |
en fait c dû au type Date qui sont mappés comme suit :
1 2 3 4
|
<property name="b" type="timestamp">
<column name="b" length="7" />
</property> |
Si j'exécute la requête sur la base directement ça marche :
UPDATE utilisateur b = to_date('2009-10-26 12:10:45','yyyy-MM-dd hh:mi:ss') WHERE a = 'xxx'
et si j'exécte cette même requête à partir d'hibrnate ça marche pas :
1 2 3
|
PreparedStatement stmt = session.connection().prepareStatement("UPDATE utilisateur set b = to_date('2009-10-27 12:10:45','yyyy-MM-dd hh:mi:ss') WHERE a = 'xxx'");
stmt.executeUpdate(); |
Je sais pas si ce problème est dû à une fausse configuration de la base ou au hibernate ?
Si quelqu'un a une idée je suis preneur.
Merci d'avance.
Partager