java - 将字符串传递给 VARCHAR 字段时不支持的 SQL 类型 1111

标签 java database orm sybase ibatis

我已经为此苦恼了一段时间。

我正在使用 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/

相关文章:

java - 改变 JTable TableHeaders 背后的背景

java - 模拟具有不同值的一种方法

mysql - 社交网络背后的数据库结构[指导]

java - 将 Hibernate 工具移动到构建时间

java - 使用 Java 获取 awk 返回值

Java 相当于 register int?

database - 通过 Excel 连接到 Oracle 数据库

sql - 对象结构关系数据库设计

php - 将 Doctrine 与领域驱动设计结合使用

java - Hibernate - native SQL 参数的奇怪顺序