lunes, 14 de enero de 2013

La misteriosa relación de Oracle E-Business Suite y NLS_LANGUAGE

En el equipo con el que estoy trabajando tengo instaladas varias herramientas para la realización de las funciones del día a día, por ejemplo:
  • SQL Developer.
  • Oracle Client 10g
  • Oracle RDBMS 10g
  • TOAD 9.6

Esto un poco por decidía y otro porque no he encontrado una herramienta que realmente cumpla mis expectativas al 100%, el caso es que un día me di cuenta que si me conecto con ellas a la base de datos (10.2.0.4) de la aplicación Oracle E-Business Suite no siempre se obtienen los mismos resultados ¿¡!?.

Vayamos a los hechos.

Estando conectado a la BD desde SQL Developer a la base de datos ejecuto una simple consulta para validar los datos de la misma.


El usuario con el que me conecte es el propietario de la tabla, en este caso es APPS.


Hasta aquí nada nuevo, nada extraña... todo Ok. pero si ejecuto unas consultas sobre una determinada tabla los resultados son los siguientes:


Supongamos, la escena:

Suena la extensión... contesto y...

Usuario - ¡Hola! Por favor me puedes mandar el listado de registros de la tabla PER_PEOPLE_V7
Yo -Claro, dame unos minutos...

Cuelgo y voy abriendo SQL Developer. Me conecto a la BD, tecleo usuario y password, la conexión se hace de manera exitosa, empiezo a teclear y los comandos aparecen en pantalla y presiono ENTER, 

Yo - (Pensando) mmmm, no tiene nada, a ver un count... no, no tiene nada.

Levanto el auricular de la extensión, marco los dígitos...

Usuario - ¿Si?
Yo - Hola, oye... esta tabla que me estas solicitando... ¿que información es la que esperas que te mande?
Usuario - Ah mira, es el listado del Personal que esta asignado a un usuario dentro de la aplicación, queremos hacer una depuración y bueno, pensamos que podemos empezar por saber que personal existe.
Yo -  Perfecto, solo era una pequeña duda, estoy trabajando en ello, dame unos minutos.
Usuario- Bye.

Cuelgo y mi mano va al teclado, sé que algo esta mal... es lo bueno; lo malo... es que no tengo ni la menor idea de qué sea. Acudo a quién siempre me ha ayudado en estos momentos de ignorancia e incertidumbre... Google. Después de varios minutos y buscar, buscar y buscar, se empieza a ver luz al final del túnel, parece que algo tiene que ver NLS_LANGUAGE.

Reviso el valor que tiene la sesión desde SQL Developer.


Inicio una sesión desde SQL Plus, habilito la conexión a la base de datos y hago unas consultas.


Lo siguientes es cambiar el valor del parámetros de la sesión que tengo en SQL Developer.


Lanzó un count para validar si ya muestra información.


¡Perfecto! ahora a extraer la información.


Como siempre, quedo para cualquier duda o comentario al respecto.




No hay comentarios:

Colaboradores