Privacidad: Recuerde que la información escrita en los foros de programación es 100% pública y que su ip será registrada asociada a su mensaje. Si encuentra un mensaje fuera de lugar, por favor, notifiquelo para su revisión y eliminación.
ClassCastException cuando intento hacer el cast Clob obj = (CLOB)rs.getClob(1);
Enviado por Rubén el día 2 de diciembre de 2003
La aplicación lanza un java.lang.ClassCastException cuando intento hacer el cast Clob obj = (CLOB)rs.getClob(1);
y todo revienta, si alguien se ha enfrentado a este hijo de puta y me dice su punto de debil, me hará salir victorioso de una lucha que dura ya 4 días!!
GRACIAS !!
Re: ClassCastException cuando intento hacer el cast Clob obj = (CLOB)rs.getClob(1);
Enviado por PaneB el día 16 de diciembre de 2003
Si usas pool de WebLogic (como debiera ser tu caso) Bea crea un tipo wrapper para los tipos Clob. La lectura y escritura de estos tipos, si bien parece que está soportada por java, es del todo mentira. Usando \"java standar\" no podrás nunca guardar o leer un CLOB de más de 4K!!!
Para realizar estas operaciones deberás usar las clases propias de oracle:
PreparedStatement ps = dbConn.prepareStatement(\"update mensaje SET mensaje=? where codigo = ?\");
ps.setClob(1, clob);
ps.setClob(2, 34);
...
Y esta función para leer un campo clob. El objeto que
se pasa se obtiene usando el método getObject de
resulset (no uses getClob).
private String readClob (Object obj) {
if (obj==null) return null;
BufferedReader bf=null;
StringBuffer out = new StringBuffer(100);
try {
bf = new BufferedReader(new InputStreamReader( ( (Clob)
obj).getAsciiStream()));