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()