Problème de connexion à une DB [MySQL/JDBC/JAVA] - Java - Programmation
Marsh Posté le 24-04-2007 à 15:18:46
CharConversionException regarde du coté de l'encodage de tes données UTF 8 , etc...
Marsh Posté le 24-04-2007 à 15:32:26
heu...pourrais-tu etre plus précis stp ? Que dois-je faire ?
Marsh Posté le 25-04-2007 à 15:34:43
Ben voila les infos que j'ai :
Code :
|
Code :
|
Code :
|
Code :
|
Code :
|
Y a qqch qui cloche ou tout semble normal ? Besoin d'autres infos ?
Marsh Posté le 25-04-2007 à 16:43:24
AHHHHHHHHHHHHH!!!!!
J'ai enfin trouvé. C'est qu'en fait Eclipse utilisait la version 1.4.2. de Java et appramment il faut mettre la 1.5.0 et la ca marche!
Je pensais qu'Eclipse par défaut utiliserait la version la plus récente et en fait non. C'était bêtement ca qu'il fallait changer.
Bon ben voila Sujet clos.
Marsh Posté le 02-05-2007 à 08:24:21
deviljin a écrit : J'ai enfin trouvé. C'est qu'en fait Eclipse utilisait la version 1.4.2. de Java et appramment il faut mettre la 1.5.0 et la ca marche! |
Ben non, t'as trouvé un contournement qui marche (et c'est très bien), mais pas la RAISON du problème.
deviljin a écrit : Bon ben voila Sujet clos. |
Tu me permets d'en remettre une couche quand même ?
Evidemment ton programme n'est pas en cause, le seul changement étant l'upgrade de Linux, c'est donc Linux qui est à l'origine du problème. Apparemment il y a un bug dans l'encodage sous certains Linux des caractères non conformes :
You're correct that the exception you're seeing is a GNU Classpath bug, its UTF8 decoder doesn't handle invalid sequences correctly (it throws an exception, instead of simply rendering the incorrect bytes as '?').
T'as probablement contourné en utilisant un JDK-1.5.0 qui est nativement UTF-8, donc les URL qu'il envoit n'ont pas à être traduites (du coup le code GNU fautif n'a pas été appelé) en UTF-8 car elles le sont déjà, alors que le JDK-1.4.2 n'est pas nativement UTF-8. C'est certainement un bazar de ce genre la vraie raison. Ca ne change rien au fait que le bon contournement, que tu as eu la sagesse de prendre de suite, était bien d'utiliser un JDK-1.5.0, c'est vachement plus efficace que d'attendre le correctif .
@++
Marsh Posté le 24-04-2007 à 14:24:09
Bonjour,
J'essaie d'accéder une DB qui est en local depuis un simple programme Java via JDBC. Je peux accéder à ma DB via une console MySQL, ca marche très bien, je peux faire des requêtes etc...
Je run mon programme via Eclipse. Sous windows, il y a aucun problème, j'arrive à faire une requête depuis Java et obtenir un resultSet.
Mais normalement je travaille sous linux. Quand j'ai écrit ce bout de code java, j'avais Ubuntu 6.10 (Edgy), ca marchait très bien, et depuis l'autre jour, j'ai upgradé à la version 7.04 (Feisty). Et depuis, ca ne marche plus. A noter aussi que j'utilise la dernière version du connecteur MySQL/JDBC (version 5.05).
Il me met une exception bizarre. Voici l'output de l'erreur :
Et voici le bout de code java, responsable d'ouvrir la connexion :
J'ai pourtant réessayé de retaper l'URL, pensant que vu que c'est une CharConversionException, un caractère invisible aurait pu faire c**** mais ca n'a rien changé.
Quelqu'un pourrait-il m'aider svp ?
Merci!