Insertar CLOB en la base de datos Oracle

Mi pregunta es: ¿Cómo te mueves por elORA-01704: string literal too long error al insertar (o hacer cualquier cosa en las consultas) conCLOBs?

Quiero tener una consulta como esta:

INSERT ALL
   INTO mytable VALUES ('clob1')
   INTO mytable VALUES ('clob2') --some of these clobs are more than 4000 characters...
   INTO mytable VALUES ('clob3')
SELECT * FROM dual;

Cuando lo intento con valores reales me saleORA-01704: string literal too long atrás. Esto es bastante obvio, pero ¿cómo inserto clobs (o ejecuto cualquier declaración con un clob)?

He intentado mirar estopregunta, pero no creo que tenga lo que estoy buscando. Los clobs que tengo están en unaList<String> y los itero para hacer la declaración. Mi código como sigue:

private void insertQueries(String tempTableName) throws FileNotFoundException, DataException, SQLException, IOException {
String preQuery = "  into " + tempTableName + " values ('";
String postQuery = "')" + StringHelper.newline;
StringBuilder inserts = new StringBuilder("insert all" + StringHelper.newline);
List<String> readQueries = getDomoQueries();
for (String query : readQueries) {
  inserts.append(preQuery).append(query).append(postQuery);
}
inserts.append("select * from dual;");

DatabaseController.getInstance().executeQuery(databaseConnectionURL, inserts.toString());

}

public ResultSet executeQuery(String connection, String query) throws DataException, SQLException {
  Connection conn = ConnectionPool.getInstance().get(connection);
  Statement stmt = conn.createStatement();
  ResultSet rs = stmt.executeQuery(query);
  conn.commit();
  ConnectionPool.getInstance().release(conn);
  return rs;
}

Respuestas a la pregunta(6)

Su respuesta a la pregunta