javascript - 如何在 Javascript 中将 CLOB 转换为字符串

标签 javascript jquery sql ajax h2

我已将图像以 Base64 编码格式插入到 H2 数据库中,因为图像的尺寸非常小(即图标 < 5KB)。

我为此使用了 CLOB 数据类型,并将其正确存储在“img”列中。

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

问题是在执行select *时,它显示:

"clob19: SPACE(398 /* table: 4875 id: 1 */)"

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

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

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

最佳答案

我对 hsqldb 也有类似的问题,它就像 h2 的姐妹。

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

行数超过 10^6 时性能良好

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

关于javascript - 如何在 Javascript 中将 CLOB 转换为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42196448/

相关文章:

javascript - Angular UI Bootstrap Typeahead 不适用于过滤器和 orderBy

mysql - 根据另一个字段的内容添加或减去值

java - 如何纠正这个查询?

Javascript推送到多维数组中的元素

javascript - 如何选择当前元素应用悬停效果?没有继承

javascript - 在 for 循环中等待函数结果

javascript - 遍历 jQuery 中的对象数组并匹配属性

javascript - 基于所选项目数据属性的 addClass/removeClass

IE 中的 JavaScript 问题 - 需要对象吗?

sql - 关于存储过程中的立即执行