Неподдерживаемый тип SQL 1111 при передаче строки в поле VARCHAR - PullRequest
3 голосов
/ 23 декабря 2009

Я уже давно разбиваюсь об этом.

Я использую 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.

Кто-нибудь сталкивался с этой проблемой? что я должен изменить свое отображение на ??

Ответы [ 3 ]

1 голос
/ 14 января 2017

Я столкнулся с этой проблемой по другой причине: в таблице был столбец geometry (расширение PostGIS), который, как мне кажется, драйвер не смог проанализировать. Удаление этого столбца заставило его работать.

0 голосов
/ 11 декабря 2015

Я тоже сталкивался с подобной ситуацией. После долгих поисков я, наконец, обнаружил, что ответом на мою проблему было то, что при создании карты мне не хватало определенного «ключа». Я пропустил заявление:

map.put("job_name", job.getJobName());

и я использовал JOB_NAME = # {job_name} в CronMapper.xml

Также где-то еще я использовал JOB_NAME = # {jobName}

0 голосов
/ 23 декабря 2009

Ваш элемент параметра выглядит нормально, после изменения использовать VARCHAR как jdbcType. Не могли бы вы включить оставшуюся часть параметра и элемент процедуры из файла сопоставления, а также код, который создает карту параметров и вызывает запрос?

Это может быть что-то простое, например опечатка, при построении карты, переданной в запрос (по крайней мере, такую ​​ошибку я бы допустил - я знаю, что я был непоследователен в использовании прописных букв userId при использовании Ibatis).

...