如何在Javascript中将CLOB转换为String

时间:2017-02-13 03:54:09

标签: javascript jquery sql ajax h2

我已经将图像作为base64编码格式插入H2数据库,因为图像具有非常小的尺寸(即图标<5KB)。

我已经使用了CLOB数据类型并将其正确存储在&#34; img&#34;列。

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

问题在于select *,它显示:

  

&#34; clob19:SPACE(398 / *表:4875 id:1 * /)&#34;

而不是我提到的实际字符串。我从jquery / ajax(而不是Java)调用此SELECT *所以json中的ajax响应显示如下:

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

如何将img数据转换为字符串以获取我的base64文本?

1 个答案:

答案 0 :(得分:1)

我和hsqldb有类似的问题,就像h2的妹妹一样。

我选择了使用longvarchar数据类型而不是clob来解决问题的简单方法,以便使用文本数据而不是二进制数据。

表现良好,超过10 ^ 6行

在H2中,Integer =] -2147483648; 2147483647 [所以我想你可以在文本字段中存储至少2GB的数据