Nous avons une application utilisant le ressort pour effectuer des appels aux procédures stockées DB2.DB2 JDBC a rompu le printemps appelé Mappage de paramètres
L'application fonctionnait correctement avec jdbc version 1.XX.XX (et DB2 V8). Une mise à niveau récente de DB2 V9 nous pousse à utiliser jdbc versiong 3.58.90 à la place. Cependant, cela semble avoir brisé le mapping des paramètres nommés au printemps (version 2.5.5). Une partie du code de travail avait déjà chaîne appel
call storedproc123(:id,:date)
lance maintenant des exceptions avec
[jcc][t4][10427][12544][3.58.90] Error parsing FLOAT literal value starting at index 19. Error Detail:Unexpected character ':' found in FLOAT literal.
...
ERRORCODE=-4463, SQLSTATE=42601
...
Quelqu'un at-il rencontré quelque chose de similaire?
Merci d'avance!
--- modifié pour ajouter plus d'informations ---
J'ai essayé permutant l'ancien jdbc retour après la mise à niveau. L'application fonctionne très bien avec l'ancien pilote, mais nous aimerions passer à la version plus récente car une autre application sur le même serveur a besoin de cette nouvelle version de jdbc, et il est difficile d'avoir différentes versions de la même jdbc sur notre serveur. utilise JBoss).
http://redneckprogrammer.blogspot.com/2009/10/running-multiple-versions-of-oracle.html discuté comment déployer plusieurs versions du même pilote JDBC, mais cela semble être un hack trop et je voudrais l'éviter si possible.
Avez-vous essayé d'exécuter manuellement les mêmes instructions sur votre nouvelle base de données? C'est, êtes-vous sûr que c'est la faute de JDBC? –
Ouais, l'exécution manuelle de la déclaration est bien. Cette erreur est renvoyée avant de passer à l'appel de la base de données. J'ai essayé de passer à l'ancien pilote 1.XX.XX après la mise à niveau, ce qui semble fonctionner correctement, à l'exception de quelques avertissements concernant les métadonnées d'unknwon. – John