0

我在 Oracle 数据库中有 CLOB 列,我想插入 String 。

如果我使用 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)
4

3 回答 3

1

这是两个很好的例子(带有示例代码,用于选择和插入):

  • 处理 CLOBS 变得容易:

http://rocksolutions.wordpress.com/2010/06/07/handling-clobs-made-easy-with-oracle-jdbc-10g/

  • 将大对象类型添加到数据库

http://docs.oracle.com/javase/tutorial/jdbc/basics/blob.html

于 2013-01-19T07:10:51.073 回答
0

请参考Java API 文档

将字符串参数解析为有符号十进制字节。字符串中的字符必须都是十进制数字,

于 2013-01-19T06:36:11.367 回答
-1

你应该:

  1. 例如,通过调用 s.getBytes() 或任何其他方法将字符串转换为字节数组。
  2. 调用 setBytes 方法,而不是 setByte

  3. 从数据库中检索时,不要忘记如何获取字节,以便正确恢复字符串。

于 2013-01-19T07:14:04.993 回答