I was getting the above exception when I was trying to set a CLOB data in the database using java.
More understanding about this exception can be get from
The mistake I was doing and getting the same exception was
While preparing the PreparedStatement Object, i was passing the query like this
pstmt = conn.prepareStatement(sqlQuery.toString());
And while executing it, again I was giving the query in the overloaded method.
// Please note that DO NOT USE pstmt.executeUpdate(String) overloaded method // That will give you this exception : // java.sql.SQLException: ORA-03115: unsupported network datatype or representation int rowsUpdated = pstmt.executeUpdate();
Use the executeUpdate method without arguments and not the one with a String argument
After making this change, I didn't get this exception.
Exact root cause is still unknown to me as well.
If someone understands it better, please explain it to me as well.
Also to set the clob data in the database you can use the following
String xml= getXml(); InputStream is = new ByteArrayInputStream(xml.getBytes()); pstmt.setAsciiStream(++psCount, is, xml.length());