2017-02-13 28 views
0

Я вставил изображения в базу данных H2 в формате base64, так как изображения имеют очень маленький размер (то есть значки < 5KB).Как преобразовать CLOB в String в Javascript

Я использовал для этого тип данных CLOB и его правильное хранение в столбце «img».

т.е.

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAIAAAACUFjqAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACtSURBVChTVY8LEsIgDES5qybY6SHKp3oKsR5CqxezJdA6pqT+ZnaGhEc2i4o0i8aYrPXhdI6UP5dfTJQR0RjDeEg/eEh5jBPfgsbGGq7/MNtKAwBlemUsZYzjIcQdS2tA3ALwsUNdHUOnQuhc653fe+8BNnVdte2BW9bleiu7RxKrEs2VHLIxK24oPQVrrZvGFrYk5WLB74+uybl+0GLAY5Jc3CbO0ff38rSI5hdpMe9eZGPCOAAAAABJRU5ErkJggg== 

Этот вопрос при этом select *, он показывает:

"clob19: ПРОСТРАНСТВО (398/* Таблица: 4875 ID: 1 * /)"

вместо фактической строки, о которой я упомянул. И я звоню этот SELECT * из JQuery/AJAX (не Java), поэтому АЯКС ответ в формате JSON, показывая, как это:

[{"img":"clob19: SPACE(398 \/* table: 4875 id: 1 *\/)","type":"abc","id":"1"}] 

Как я могу преобразовать Img данные в строку, чтобы получить мой base64 текст?

ответ

1

У меня была аналогичная проблема с hsqldb, которая похожа на сестру h2.

Я выбрал простой способ решить проблему, используя longvarchar datatype вместо clob, чтобы использовать текстовые данные вместо двоичных данных.

Производительность была хороша с более чем 10^6 строк

В H2, Integer =] -2147483648; 2147483647 [так что я думаю, вы можете хранить не менее 2 гб данных в текстовом поле

+0

спасибо, но нет longvarchar в h2 ... см. Http://www.h2database.com/html/datatypes.html – Sky

+0

http: //www.h2database.com/html/datatypes.html#varchar_type Просто попробуйте «Integer.MAX_VALUE», чтобы увидеть ограничение размера varchar. –

+0

. varchar имеет ограничение 255, а моя базовая строка base64 намного больше, чем – Sky

 Смежные вопросы

  • Нет связанных вопросов^_^