【发布时间】:2013-01-19 05:53:33
【问题描述】:
我在 Oracle 数据库中有 CLOB 列,我想插入字符串。
如果我使用 setCharacterStream,它可以工作,但是如何通过 setBytes 插入字符串却出现异常。 请帮帮我。
String s = "Hello How are you Data for CLOB column";
ps.setCharacterStream(1, new StringReader(s), s.length());
ps.setByte(1,Byte.parseByte(s));
异常跟踪:
java.lang.NumberFormatException: For input string: "Hello How are you Data for CLOB column"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
at java.lang.Integer.parseInt(Integer.java:447)
at java.lang.Byte.parseByte(Byte.java:151)
at java.lang.Byte.parseByte(Byte.java:108)
at colb.test.InertClob.main(InertClob.java:24)
【问题讨论】:
-
这里有两个很好的例子:Handling CLOBS made easy 和 Adding large object type to databaase。我确实不认为您根本需要“setByte()”。恕我直言...
-
@paulsm4 谢谢....这么好的链接我什至没有想到这么好的 pstmt.setString(1, str);....?如果您可以将此作为答案.....
-
我的荣幸。很高兴它有帮助!
-
setString 在这里是错误的。可能有效/可能无效,您应该将字节数组存储到 Blob 字段中。
-
你好吗?为什么你说这可能有效也可能无效 请解释一下……我没有问关于 BLOB 的问题。
标签: java sql oracle jdbc prepared-statement