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

发布于 2024-10-10 08:46:28 字数 426 浏览 5 评论 0原文

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

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

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

H2 在 SQL 解析期间因 ArrayOutOfBoundException 崩溃。

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

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

任何见解吗?

I'm trying to run a sql script using H2's runscript.

One of the table contains a longtext type which stores an xml document (from an SAP database)

So the Insert statement contains the long text of the XML (about 200 lines of XML), which is rather ugly but still expected to work.

H2 crashes with an ArrayOutOfBoundException during SQL parsing.

  • Is there alimit on the length it will accept for a insert statement ?
  • In the nsert I'm delimiting the value(xml) using ticks (as used in mysql) ... figures this would minimize escaping. could that be part of the issue (works for other short fields)

I would prefer using the plain runscript H2 tool here rather than make a Java program although I see it would be cleaner (could use the steam methods)

Any insight ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

笙痞 2024-10-17 08:46:28

没关系,

通过使用正确的分隔符(“用于列名称,'用于值)并正确转义值中的引号(将其加倍)来使其工作

Never mind

Got it working by using the proper delimiters (" for column names and ' for values) and escaping quotes in values properly (doubling it)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文