我正在尝试从PostgreSQL数据库中读取一个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 data ( id bigint NOT NULL, clob_column text, );
谢谢
getString()
在text
列上绝对可以正常工作。请展示一下你的表定义(编辑你的问题)。 - user330315getString()
时没有获得正确的值,那么您的程序可能存在问题。JDBC驱动程序可以正常工作(您正在使用当前版本,对吗?) - user330315