读书人

ibatis 报语法异常

发布时间: 2012-05-05 17:21:10 作者: rapoo

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里面可以执行么?

读书人网 >Java Web开发

热点推荐