码迷,mamicode.com
首页 > 数据库 > 详细

org.springframework.jdbc.BadSqlGrammarException: CallableStatementCallback; bad SQL grammar

时间:2014-07-02 06:12:07      阅读:598      评论:0      收藏:0      [点我收藏+]

标签:spring   mysql   存储过程   

通过Spring的jdbcTemplate调用Mysql的存储过程,出现下面的问题(以前也使用过,并没有出现下面的问题,折腾大半天,郁闷):

开始报下面的错误:


[INFO ]2014-07-01 10:49:15,297 MESSAGE : Loading XML bean definitions from class path resource [org/springframework/jdbc/support/sql-error-codes.xml]

[INFO ]2014-07-01 10:49:15,413 MESSAGE : SQLErrorCodes loaded: [DB2, Derby, H2, HSQL, Informix, MS-SQL, MySQL, Oracle, PostgreSQL, Sybase]


没有更多的错误信息,数据库中也没有反应。然后,通过加入try()catch{}后,可以打印出主要的错误信息如下:


org.springframework.jdbc.BadSqlGrammarException: CallableStatementCallback; bad SQL grammar []; nested exception is com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘`res`)‘ at line 1


根据错误提示,应该是SQL语法错误,但是在Navicat里面执行,没有问题,我就郁闷了。

创建存储过程语句是,是Navicat工具按步骤创建的:


CREATE DEFINER=`root`@`localhost` PROCEDURE `huabei_dhqr_id`(OUT ‘res‘ varchar(32))


后来将参数中的引号去掉,改为:


CREATE DEFINER=`root`@`localhost` PROCEDURE `huabei_dhqr_id`(OUT res varchar(32))


可执行成功!


本文出自 “quietboy's blog” 博客,请务必保留此出处http://quietboy.blog.51cto.com/6711298/1432984

org.springframework.jdbc.BadSqlGrammarException: CallableStatementCallback; bad SQL grammar,布布扣,bubuko.com

org.springframework.jdbc.BadSqlGrammarException: CallableStatementCallback; bad SQL grammar

标签:spring   mysql   存储过程   

原文地址:http://quietboy.blog.51cto.com/6711298/1432984

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!