mybaits调用oracle过程时报错 java.sql.SQLException: 索引中丢失 IN 或 OUT 参数:: 1 100

mybaits的dao层的XML部分<!--获取单据明细商品名称参数Map--><parameterMaptype="java.util.Map"id="getGoods... mybaits的dao层的XML部分
<!-- 获取单据明细商品名称参数Map -->
<parameterMap type="java.util.Map" id="getGoodsNameMap">
<parameter property="in_goodsid" javaType="String" jdbcType="VARCHAR" mode="IN"/>
<parameter property="in_supid" javaType="String" jdbcType="VARCHAR" mode="IN"/>
<parameter property="out_goodsname" javaType="String" jdbcType="VARCHAR" mode="OUT"/>
</parameterMap>

<!-- 通过商品编码获取商品名称 -->
<select id="getGoodsName" statementType="CALLABLE" parameterMap="getGoodsNameMap" >
{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;

}

报错
16:15:54,040 INFO [STDOUT] 16:15:54,039 ERROR [Dispatcher] Exception occurred during processing request:
### Error querying database. Cause: java.sql.SQLException: 索引中丢失 IN 或 OUT 参数:: 1

网上都说是因为与数据库的数据类型对应不对,可是我都检查好多遍了 没发现问题 求解
goodsid与gysid我也打印出来了 不是空值 真不知道是什么问题了, 求大神指点
附上oracle中的过程头部
--按商品编码取得一个商品名称
PROCEDURE JXC_ACT_GETGOODSNAME(in_goodsid IN oct_doc_detail.goods_id%TYPE, --商品编码
in_supid IN oct_doc_head.gys_id%TYPE,
out_goodsname OUT VARCHAR2 --反回商品名称
)
展开
 我来答
勇敢的心VeV
2014-05-29 · 超过12用户采纳过TA的回答
知道答主
回答量:50
采纳率:0%
帮助的人:24.8万
展开全部
map.put("out_goodsname","");
输出参数就不要去设置值了吧。。
更多追问追答
追问
也试了的  不设置也还是报这个错
追答
#{in_goodsid,jdbcType=VARCHAR},
#{in_supid,jdbcType=VARCHAR},
#{out_goodsname,mode=OUT,jdbcType=VARCHAR}

把这个几个替换成 ? 试试
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lightmenow
2014-05-29 · TA获得超过330个赞
知道小有建树答主
回答量:319
采纳率:0%
帮助的人:152万
展开全部
把详细的报错贴一下吧。
先看看是不是这个问题:
http://blog.csdn.net/zjx2388/article/details/2077894
追问
是java写的  数据库是oracle  oracle中的过程参数是对的啊 没问题的

报错截图上传不了 大概报错就是
### SQL: {CALL EXEC.OCTWPRK.JXC_ACT_GETGOODSNAME(?,?,?)} uncategorized SQLException for SQL []; SQL state [null]; error code [17041];
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式