Я пытаюсь получить содержимое столбца BLOB из базы данных Oracle с помощью mybatis. Существует таблица «Демо», которая содержит столбец «binfile» типа BLOB. Я хотел бы выбрать столбец BLOB и отобразить его как байтовый массив/необработанные двоичные данные. Я использую тонкий драйвер JDBC Oracle.Выберите столбец BLOB из Oracle DB с помощью mybatis
Запрос в mybatis картографа выглядит следующим образом:
<mapper namespace="Oracle" >
...
<select id="SelectBinary" resultType="hashmap">
SELECT binfile from mpdemo.Demo
</select>
</mapper>
Если я сделаю это, то результат я получаю выглядит следующим образом:
BINFILE: "[email protected]"
Если я это сделать:
<select id="SelectBinaryDup" resultType="hashmap">
SELECT utl_raw.cast_to_varchar2(dbms_lob.substr(binfile)) from mpdemo.Demo
</select>
Я, очевидно, ошибаюсь, говоря, что необработанная переменная, обозначающая «PL/SQL: числовая или значение ошибки: необработанная переменная длина слишком долго g ', поскольку изображение намного превышает 100 kB, так как переменная VARCHAR2 в SQL может поддерживать только 2000 байт.
Есть ли решение для этого?
Я думал о записи сохраненного proc, который считывает блок столбца BLOB блоком и записывает вывод в файл. Но этот файл будет сохранен на сервере базы данных, и я не могу его восстановить.
работает как очарование. благодаря! – codewarrior