Error al recuperar un campo de una BD Oracle

patri
02 de Julio del 2008
Hola,

estoy teniendo un problema al intentar leer un campo de una BD Oracle. El campo es un varchar2(4000) y solo lo tengo con la versi贸n 9.2.0.5.0, ya que con la versi贸n 10.1.0.3.0 lo he conseguido solucionar. Estoy estableciendo la conexi贸n con el JDBC classes12.jar

el problema est谩 en esta parte del c贸digo:

for(; rs.next(); i++) {
Clob clMensaje= rs.getClob("RM_XML");
String mensaje= clMensaje.getSubString(1, (new Long(clMensaje.length())).intValue());
......
}

El campo RM_XML es el que tiene tama帽o 4000. Si intento hacer esto con la versi贸n 9, me da un error "Tipo de columna no v谩lido". Si lo hago con la versi贸n 10, funciona correctamente. Adem谩s, si intento hacer un rs.getString("RM_XML") del campo, no me da ning煤n error, pero me devuelve NULL a煤n cuando el campo tiene valor, an cualquiera de las 2 versiones.

驴alguien sabe c贸mo solucionarlo?

Muchas gracias

jose
02 de Julio del 2008
Si el campo en la base de datos lo tienes identificado como varchar2, lo mas normal es que hicieras rs.getString("NombreColumna").

Si quieres hacer una prueba, cambia el tipo de columna en la base de datos y ponlo como CLOB e intentalo con el rs.getClob()