0

Java コードで String を Clob に変換しようとすると、問題が発生します。Java 1.4 と Oracle 10g を使用しています。

stmt = conn.prepareStatement("INSERT INTO RAWDATA_EQUIFAX (REQ_ID, BUREAU_CODE, RAWDATA, RESP_TIME) VALUES (?, ?, ?, ?)");
stmt.setClob(3, rawData); //rawData is String in java

私が得るエラーは次のとおりです。

The method setClob(int, Clob) in the type PreparedStatement is not applicable for the arguments (int, String)
4

2 に答える 2

0

10g では、Java 側で CLOB はもう必要ありません。接続プロパティSetBigStringTryClobを設定して、JDBC APItrueで使用するだけです。Strings

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

于 2013-05-30T15:57:35.847 に答える
0

あなたは使用できるはずですPreparedStatement#setCharacterStream(int, Reader, int)

Reader reader = new StringReader(rawData);
stmt.setCharacterStream(3, reader, rawData.length()); //or whicehver index

Java 7 にアップグレードします。

于 2013-05-30T15:24:30.960 に答える