我已经为此苦恼了一段时间。
我正在使用 iBatis 和我的 JAVA 代码来运行驻留在 Sybase 数据库中的存储过程。
存储过程需要一些参数。其中一些被声明为 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
正在获取传递给 SP 的 null
值。我从我的 java 代码中确定我没有传递 null
。
有人遇到过这个问题吗?我应该将我的映射更改为什么??
最佳答案
我出于不同的原因遇到了这个问题:该表中有一个 geometry
(PostGIS 扩展)列,我猜驱动程序无法解析。删除该列使其有效。
关于java - 将字符串传递给 VARCHAR 字段时不支持的 SQL 类型 1111,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1955052/