一段时间以来,我一直在为此努力。
我正在使用 iBatis 和我的 JAVA 代码来运行位于 Sybase DB 中的存储过程。
存储过程需要一些参数。其中很少有人被宣布为VARCHAR (6)
所以在我的 iBatis 映射中,我对这些参数做了以下操作。
<parameter property="searchUserId" jdbcType="String" javaType="java.lang.String" mode="IN"/>
但是,当我这样做时,会出现以下错误。
--- Check the statement (update procedure failed).
--- Cause: java.sql.SQLException: JZ006: Caught IOException: java.io.IOException: JZ0SL: Unsupported SQL type 1111.
Caused by: java.sql.SQLException: JZ006: Caught IOException: java.io.IOException: JZ0SL: Unsupported SQL type 1111.
所以我将映射更改为:
<parameter property="searchUserId" jdbcType="VARCHAR" javaType="java.lang.String" mode="IN"/>
它消除了上面的错误,但是,现在参数searchUserId
正在获取null
传递给 SP 的值。我确定从我的 java 代码中我没有通过null
。
有人遇到过这个问题吗?我应该将映射更改为什么?