当前位置: 代码迷 >> Java Web开发 >> ibatis 报语法异常
  详细解决方案

ibatis 报语法异常

热度:7740   发布时间:2013-02-25 21:21:26.0
ibatis 报语法错误
SQL code
PROCEDURE [dbo].[d_dir_lists_Delete]@node_id intasDELETE [d_dir_lists] WHERE node_id =@node_id--exec d_dir_lists_Delete 111持行没有问题 数据库为sqlserver2005


Java code
//java代码Map<String,Integer> map =new HashMap<String, Integer>();map.put("node_id", new Integer(node));this.getSqlMapClientTemplate().queryForObject("proTree.delRootNode",map);


XML code
//sqlMap        <parameterMap id="inParameters" class="java.util.Map">            <parameter property="node_id" jdbcType="INTEGER" javaType="java.lang.Integer" mode="IN" />        </parameterMap>        <!-- 调用存储过程,根据根节点id删除,以及它一下的所有节点 -->        <procedure id="delRootNode" parameterMap="inParameters">          <![CDATA[{call d_dir_lists_Delete (?) }]]>       </procedure>


这个会报错 妹的,到底那里出错了?

org.springframework.jdbc.BadSqlGrammarException: SqlMapClient operation; bad SQL grammar []; nested exception is com.ibatis.common.jdbc.exception.NestedSQLException:
--- The error occurred in config/ProTree.xml.
--- The error occurred while applying a parameter map.
--- Check the proTree.inParameters.
--- Check the statement (update procedure failed).
--- Cause: com.microsoft.sqlserver.jdbc.SQLServerException: ' ' 附近有语法错误。

------解决方案--------------------------------------------------------
call d_dir_lists_Delete (?) 
直接放到DB里面可以执行么?
  相关解决方案