2010-04-13 4 views
0

J'appelle une procédure stockée via ibatis. Cela fonctionne, et a fonctionné, en utilisant le jconn2.jar (5.5). Lorsque je l'échange pour le fichier jtds jar (1.2.5), j'obtiens une exception "Instruction SQL invalide ou échappement JDBC, terminant '}' non trouvé.""Instruction SQL invalide ou échappement JDBC, terminant '}' non trouvé." avec jTDS et Sybase

Pour plus de transparence j'utilise Spring avec DBCP. Évidemment, l'analyse du code SQL dans jTDS n'est pas appréciée, ce qui est accepté dans jconn2. Ce projet est antérieur à beaucoup d'entre nous, et je n'ai pas utilisé Sybase depuis des années.

Les caractères externes des données sont "-", ":" et "." Ai-je besoin d'échapper mes paramètres dans l'instruction d'appel de procédure stockée pour contourner ce problème? Existe-t-il des paramètres par défaut pour jconn2 qui ne sont pas définis pour jTDS?

Merci.

Répondre

0

La réponse est jConnect interprète librement l'ordre des accolades et des parenthèses. Donc, {appel MyStoredProc (?,?,? }) est bien pour jConnect. jTds a une analyse stricte, donc l'accolade et la parenthèse mises en correspondance sont incorrectes.

Pas amusant.

Questions connexes