mybaits调用oracle历程时报错 java.sql.SQLException: 索引中丢失 IN 或 OUT 参数: 1
mybaits调用oracle过程时报错 java.sql.SQLException: 索引中丢失 IN 或 OUT 参数:: 1
mybaits的dao层的XML部分
Service 层的java部分
oracle过程头部
报错:
14:33:49,065 INFO [STDOUT] 14:33:49,063 ERROR [Dispatcher] Exception occurred during processing request:
### Error querying database. Cause: java.sql.SQLException: 索引中丢失 IN 或 OUT 参数:: 1
### The error may exist in com/inventorymanage/dao/documents/IDJManageDaoMapper.xml
### The error may involve com.inventorymanage.dao.documents.IDJManageDao.getGoodsName-Inline
### The error occurred while setting parameters
### SQL: {CALL EXEC_OCTWORK.JXC_ACT_GETGOODSNAME(?,?,?)}
### Cause: java.sql.SQLException: 索引中丢失 IN 或 OUT 参数:: 1
; uncategorized SQLException for SQL []; SQL state [null]; error code [17041]; 索引中丢失 IN 或 OUT 参数:: 1; nested exception is java.sql.SQLException: 索引中丢失 IN 或 OUT 参数:: 1
org.springframework.jdbc.UncategorizedSQLException:
### Error querying database. Cause: java.sql.SQLException: 索引中丢失 IN 或 OUT 参数:: 1
### The error may exist in com/inventorymanage/dao/documents/IDJManageDaoMapper.xml
### The error may involve com.inventorymanage.dao.documents.IDJManageDao.getGoodsName-Inline
### The error occurred while setting parameters
### SQL: {CALL EXEC_OCTWORK.JXC_ACT_GETGOODSNAME(?,?,?)}
### Cause: java.sql.SQLException: 索引中丢失 IN 或 OUT 参数:: 1
; uncategorized SQLException for SQL []; SQL state [null]; error code [17041]; 索引中丢失 IN 或 OUT 参数:: 1; nested exception is java.sql.SQLException: 索引中丢失 IN 或 OUT 参数:: 1
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:83)
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80)
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80)
at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:71)
at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:364)
at $Proxy928.selectOne(Unknown Source)
at org.mybatis.spring.SqlSessionTemplate.selectOne(SqlSessionTemplate.java:159)
at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:63)
at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:43)
at $Proxy929.getGoodsName(Unknown Source)
at com.inventorymanage.service.documents.impl.DJManageServiceImpl.getGoodsName(DJManageServiceImpl.java:49)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
mybaits的dao层的XML部分
<!-- 通过商品编码获取商品名称 -->
<select id="getGoodsName" statementType="CALLABLE" parameterType="java.util.HashMap" >
{CALL EXEC.OCTWPRK.JXC_ACT_GETGOODSNAME(
#{in_goodsid,jdbcType=VARCHAR},
#{in_supid,jdbcType=VARCHAR},
#{out_goodsname,mode=OUT,jdbcType=VARCHAR}
)}
</select>
Service 层的java部分
// 通过商品编码获取商品名称
public String getGoodsName(String goodsid, String gysid){
Map<String, String> map=new HashMap<String, String>();
map.put("in_goodsid",goodsid);
map.put("in_supid",gysid);
map.put("out_goodsname","");
iDJManageDao.getGoodsName(map);
System.out.println(map.get("in_goodsid"));
String goodsname = map.get("out_goodsname");
return goodsname;
}
oracle过程头部
--按商品编码取得一个商品名称
PROCEDURE JXC_ACT_GETGOODSNAME(in_goodsid IN VARCHAR2 ,
in_supid IN VARCHAR2 ,
out_goodsname OUT VARCHAR2
)
报错:
14:33:49,065 INFO [STDOUT] 14:33:49,063 ERROR [Dispatcher] Exception occurred during processing request:
### Error querying database. Cause: java.sql.SQLException: 索引中丢失 IN 或 OUT 参数:: 1
### The error may exist in com/inventorymanage/dao/documents/IDJManageDaoMapper.xml
### The error may involve com.inventorymanage.dao.documents.IDJManageDao.getGoodsName-Inline
### The error occurred while setting parameters
### SQL: {CALL EXEC_OCTWORK.JXC_ACT_GETGOODSNAME(?,?,?)}
### Cause: java.sql.SQLException: 索引中丢失 IN 或 OUT 参数:: 1
; uncategorized SQLException for SQL []; SQL state [null]; error code [17041]; 索引中丢失 IN 或 OUT 参数:: 1; nested exception is java.sql.SQLException: 索引中丢失 IN 或 OUT 参数:: 1
org.springframework.jdbc.UncategorizedSQLException:
### Error querying database. Cause: java.sql.SQLException: 索引中丢失 IN 或 OUT 参数:: 1
### The error may exist in com/inventorymanage/dao/documents/IDJManageDaoMapper.xml
### The error may involve com.inventorymanage.dao.documents.IDJManageDao.getGoodsName-Inline
### The error occurred while setting parameters
### SQL: {CALL EXEC_OCTWORK.JXC_ACT_GETGOODSNAME(?,?,?)}
### Cause: java.sql.SQLException: 索引中丢失 IN 或 OUT 参数:: 1
; uncategorized SQLException for SQL []; SQL state [null]; error code [17041]; 索引中丢失 IN 或 OUT 参数:: 1; nested exception is java.sql.SQLException: 索引中丢失 IN 或 OUT 参数:: 1
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:83)
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80)
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80)
at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:71)
at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:364)
at $Proxy928.selectOne(Unknown Source)
at org.mybatis.spring.SqlSessionTemplate.selectOne(SqlSessionTemplate.java:159)
at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:63)
at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:43)
at $Proxy929.getGoodsName(Unknown Source)
at com.inventorymanage.service.documents.impl.DJManageServiceImpl.getGoodsName(DJManageServiceImpl.java:49)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)