Bom dia!
Estou com problemas para executar uma Stored Procedure no IBatis… Já simplifiquei o código o máximo possível, colocando o sql final já no XML, pra não ter erro, ficando assim meu xml:
...
<statement id="execProc" resultSetType="FORWARD_ONLY">
EXECUTE proc_anderson ('21')
</statement>
...
E sendo que a chamada está assim:
sqlMap.update("execProc", new HashMap());
Ou seja, estou apenas chamando o método do IBatis sem passar nada, pois o SQL já está pronto no XML.
E mesmo assim, pego o erro:
com.ibatis.common.jdbc.exception.NestedSQLException:
--- The error occurred in com/gesplan/gsolap/dao/maps/Cube.xml.
--- The error occurred while applying a parameter map.
--- Check the execProc-InlineParameterMap.
--- Check the statement (update failed).
--- Cause: java.sql.SQLException: ORA-00900: instrução SQL inválida
Caused by: java.sql.SQLException: ORA-00900: instrução SQL inválida
at com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeUpdate(GeneralStatement.java:91)
at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.update(SqlMapExecutorDelegate.java:500)
at com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.update(SqlMapSessionImpl.java:85)
at com.gesplan.gsolap.dao.impl.SqlMapCubeDao.execProc(SqlMapCubeDao.java:168)
Obs.: Se eu rodar o código SQL por fora ele funciona…
Obrigado pessoal!