Zoals ik al heb vermeld in uw andere vraag :in mijn ervaring werken getClob() en setClob() niet goed.
Gebruik setCharacterStream()
in plaats daarvan:
StringReader clob = new StringReader("");
pStmt = conn.prepareStatement("update activity set REFERENCE = ? WHERE ID = ?");
pStmt.setCharacterStream(1, clob, 0);
pStmt.setLong(2, 1);
pStmt.executeUpdate();
Op die manier kunt u ook de onnodige SELECT verwijderen voordat u gaat updaten, wat ook de prestaties zal verbeteren.
Een andere optie zou zijn om die kolom eenvoudig in te stellen op NULL
Bewerken:
Met nieuwere stuurprogramma's (11.x) wilt u misschien ook proberen setString()
. te gebruiken en getString()
op de CLOB-kolom.
De vergrendeling van de rij zou alleen nodig moeten zijn als u een LOB-locator gebruikt die u wilt behouden tijdens een transactie die meer dan één verklaring omvat (althans dat is mijn begrip van de gekoppelde verwijzing naar de handleiding).