我正在通过ibatis调用存储过程。当使用jconn2.jar(5.5)时,它可以正常工作。当我把它换成jtds jar(1.2.5)时,我得到一个异常“无效的SQL语句或JDBC转义,终止'}'找不到。”
为了提高透明度,我正在使用Spring和DBCP。显然,在jTDS中解析SQL代码并不受欢迎,这在jconn2中被接受。这个项目早于我们这一批,我多年没有使用过Sybase。
数据中的外围字符是“ - ”,“:”和“。”
我是否需要在存储过程调用语句中转义我的参数才能解决此问题?是否有jconn2的默认设置没有为jTDS设置?
感谢。
答案 0 :(得分:0)
答案是jConnect松散地解释大括号和括号的顺序。
所以{call MyStoredProc(?,?,?})适用于jConnect。 jTds具有严格的解析,因此错误匹配的括号和括号不正确。
不好玩。