从 SQL 脚本在 H2 数据库中插入长文本

Posted

技术标签:

【中文标题】从 SQL 脚本在 H2 数据库中插入长文本【英文标题】:Inserting a long text in H2 Database from an SQL script 【发布时间】:2011-01-05 02:29:07 【问题描述】:

我正在尝试使用 H2 的 runscript 运行 sql 脚本。

其中一个表包含一个长文本类型,它存储一个 xml 文档(来自 SAP 数据库)

因此,Insert 语句包含 XML 的长文本(大约 200 行 XML),这相当难看,但仍然可以工作。

H2 在 SQL 解析期间崩溃并出现 ArrayOutOfBoundException。

插入语句接受的长度是否有限制? 在 nsert 中,我使用记号(在 mysql 中使用)来分隔值(xml)...数字这将最大限度地减少转义。这可能是问题的一部分吗(适用于其他短领域)

我更喜欢在这里使用普通的 runscript H2 工具而不是制作 Java 程序,尽管我认为它会更干净(可以使用 steam 方法)

有什么见解吗?

【问题讨论】:

【参考方案1】:

没关系

通过使用正确的分隔符(" 表示列名,' 表示值)并正确转义值中的引号(加倍)

【讨论】:

以上是关于从 SQL 脚本在 H2 数据库中插入长文本的主要内容,如果未能解决你的问题,请参考以下文章

oracle sql:插入长文本但接收SP2-0778:脚本文件名和参数太长

未加载 Spring Boot 测试 H2 sql 脚本

内存 H2 数据库,插入脚本不持久

H2 - (相当)长插入失败并出现错误 42000

从 SQL Server 数据库的列中高效地访问长文本

如何在 h2 数据库中插入特定的 UUID?