sql >> Base de Datos >  >> RDS >> Oracle

Java devuelve un valor de cadena vacío para Oracle VARCHAR2

Me encontré con este mismo problema usando:

  1. Oracle 9i Enterprise Edition de 64 bits (versión JServer 9.2.0.1.0 - Producción)
  2. JDBC 12.1.0.1.0 - ojdbc7.jar
  3. Java OpenJDK de 64 bits, 1.7.0_09-icedtea

con una tabla como esta:create table person (first_name varchar2(60));

Y consulta así usando sqlline:select first_name, cast(substr(first_name,0,1) as char) from person;

Tendría un conjunto de resultados de ["","S"].

No tenía ningún otro jar de Oracle en mi ruta de clase, ya que resultó ser un problema para otros, pero cuando cambié de ojdbc7.jar a ojdbc6_g.jar, este problema se resolvió. Esta es la versión del controlador 11.2.0.3.0 que se encuentra en la sección de descarga 12c.