10

我正在尝试从 postgreSQL DB 中读取一个 clob,对其进行更改,然后将其写回。

我能够使用以下代码成功读取 clob:

PreparedStatement statement = connection.prepareStatement("SELECT clob_column from data where id = 1");
ResultSet executeQuery = statement.executeQuery();
executeQuery.next()
Clob fetchedClob = executeQuery.getClob("clob_column");

但是当我尝试使用新数据创建一个新的 clob 时:

Clob newClob = connection.createClob();

我收到以下错误:

java.lang.AbstractMethodError: com.mchange.v2.c3p0.impl.NewProxyConnection.createClob()Ljava/sql/Clob;  

此外,如果我尝试仅编辑获取的 clob,请使用:

fetchedClob.setString(0, "new string");

我收到以下错误:

Method org.postgresql.jdbc4.Jdbc4Clob.setString(long,str) is not yet implemented.

任何想法?

更新:这是表定义

CREATE TABLE 数据 ( id bigint NOT NULL, clob_column text, );

谢谢

4

1 回答 1

7

无需使用getClob().

ResultSet.getString()并且setString()在列上工作得很好text(PostgreSQL没有clob数据类型,所以我假设你正在使用text

于 2012-08-27T12:31:45.207 回答