Я уже давно разбиваюсь об этом.
Я использую iBatis с моим кодом JAVA для запуска Stored Proc, находящегося в 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
.
Кто-нибудь сталкивался с этой проблемой? что я должен изменить свое отображение на ??