8
我試圖讀取和PostgreSQL數據庫一個CLOB,改變它,並把它寫回。字符串爲CLOB在PostgreSQL
我能夠讀取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();
我m得到以下錯誤:
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時,我找回了一個我不明白其含義的數字(也許是實際的數據長度?)。 只有當我getClob並查看其字符流(getCharacterStream)時,我才能得到保存在數據庫中的完整XML。 –
@BenBracha:那麼你沒有向我們展示一切。 'getString()''''''text'columns可以正常工作。請向我們展示您的表格定義(編輯您的問題)。 –
已更新上面。 我現在也看到它使用我的應用程序沒有實現全部設置爲*該Clob中org.postgresql.jdbc3.AbstractJdbc3Clob。 我該怎麼辦? 另外我要補充我們使用Hibernate和該表的匹配實體有它打上@Lob –