1

ORA-01704: string literal too longフィールド RAWDATA に 4000 文字を超えるとエラーが発生します。データ型は CLOB です。Java 1.4 と Oracle 10g を使用しています。

stmt = conn.prepareStatement("INSERT INTO RAWDATA_EQUIFAX (REQ_ID, BUREAU_CODE, RAWDATA, RESP_TIME) VALUES (?, ?, ?, ?)");

stmt.setInt(1, RequestID);
stmt.setString(2, bureau_code);
stmt.setString(3, rawData);
stmt.setTimestamp(4, new Timestamp(date.getTime()));
stmt.executeUpdate();
conn.commit();
4

2 に答える 2

3

PreparedStatement#setString()を設定するために使用しないでくださいClob。代わりに使用できる方法があります
PreparedStatement#setClob()

于 2013-05-29T21:28:59.580 に答える
0

これを使用して、Clob パラメータを PreparedStatement に設定する必要があると思います。

Clob clob = conn.createClob();
clob.setString(1, rawData);
stmt.setClob(3, clob);
clob.free();
于 2013-07-24T12:45:11.333 に答える