0

Oracle Database に 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

次に、2つの良い例を示します(選択と挿入用のサンプルコードを使用)。

  • CLOBの処理が簡単になりました:

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

  • databaaseにラージオブジェクトタイプを追加する

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

于 2013-01-19T07:10:51.073 に答える
0

Java API DOCを参照してください

文字列引数を符号付き 10 進バイトとして解析します。文字列内の文字はすべて 10 進数でなければなりません。

于 2013-01-19T06:36:11.367 に答える
-1

あなたがすべき:

  1. たとえば、s.getBytes()またはその他を呼び出して、文字列をバイト配列に変換します。
  2. setByteではなくsetBytesメソッドを呼び出す

  3. データベースから取得するときは、文字列を適切に復元するために、バイトを取得した方法を忘れないでください。

于 2013-01-19T07:14:04.993 に答える