Java:如何将 CLOB 插入 oracle 数据库

2022-09-02 23:02:01

我需要将XML文件内容写入oracle数据库,其中列是CLO数据类型。我该怎么做?


答案 1

最简单的方法是简单地使用

stmt.setString(position, xml);

方法(对于可以轻松保存在Java内存中的“小”字符串),或

try {
  java.sql.Clob clob = 
    oracle.sql.CLOB.createTemporary(
      connection, false, oracle.sql.CLOB.DURATION_SESSION);

  clob.setString(1, xml);
  stmt.setClob(position, clob);
  stmt.execute();
}

// Important!
finally {
  clob.free();
}

答案 2

过时的请参阅下面Lukas Eder的答案。

大约100行代码;-)下面是一个示例

要点:与其他JDBC驱动程序不同,来自Oracle的驱动程序不支持使用和作为.相反,您必须将列写入结果集,然后写入结果集ReaderInputStreamINSERTSELECTCLOBFOR UPDATE

我建议您将此代码移动到帮助器方法/类中。否则,它将污染代码的其余部分。