1

我编写的代码使用 SQLXML 对象来获取 Writer,然后将该对象保存到 DB。但是,我刚刚发现 SQLXML Writer 只不过是 ByteArrayOutputStream 的包装器。这意味着如果我向写入器写入 3GB 数据,那么将占用 3GB 堆。那不是我想要的。

如果不先将其存储在本地,真的没有办法写入 Oracle 中的 clob/xmltype 列吗?

如果真的没有办法做到这一点,我将创建一个新表来存储每个条目的数据子集。也许我可以以某种方式将数据库中的结果结合起来,但这对我来说真的像是一个黑客。我只想打开一个流,写入它,然后关闭它。

4

1 回答 1

0

在 jdbc 或 hibernate 中支持流式传输。在 JDBC 中,您可以像下面这样使用

InputStream data = resultset.getBinaryStream(1)
于 2014-08-19T12:30:11.230 回答