使用jdbc将CLOB数据存储到Oracle 9i数据库

时间:2018-06-23 06:51:26

标签: java jdbc oracle9i

我在通过JDBC将CLOB数据存储到Oracle 9i数据库时遇到问题。我正在使用PreparedStatement并将数据设置为setString(index,value)。该值是一个较大的XML字符串。我使用的驱动程序是ojdbc14.jar。仍然出现一个错误,提示“ java.lang.Exception:此类型的数据大小大于最大大小:4723”。

我的XML不太大,无法容纳在CLOB字段中。仍然出现此错误。请帮忙。

我搜索了很多站点,但没有解决问题,ojdbc14驱动程序不支持setClob()方法。

1 个答案:

答案 0 :(得分:0)

对于CLOB(4GB!),XML可能不是太大,但对于使用setString(4000个字符)来说,XML太大了。教科书解决方案可能是改用setCharacterStream方法:

PreparedStatement ps = ...;
String xml = "<xml>somve verly long data... </xml>";

ps.setCharacterStream(1, new StringReader(xml), xml.length());