Power Builder - Error en paso de parametros a datawindow

   
Vista:

Error en paso de parametros a datawindow

Publicado por Jeronimo (3 intervenciones) el 19/05/2016 18:37:14
Hola,
He migrado aplicaciones de la versión 4.0 de PB a la 6.5, y me he encontrado con que las datawindows que reciben argumentos en formato decimal, (en la 4 funcionaban perfectamente) al ejecutar la función retrieve, da el error ORA-1722 Numero no valido. Los argumentos en la datawindow están como NUMBER y en la llamada a la función retrieve se le pasa variables de tipo Decimal
Como PowerBuilder pasa los argumentos en formato con ',' como separador decimal (ejemplo 4,5 ) y Oracle utiliza el punto como separador decimal en las variables (4.5), pues por eso da el error.
Me gustaría que me ayudarais a resolver el problema (en la versión 4 no se produce el problema), ya que supongo que es un problema de configuración de algún parámetro.
El driver de Oracle que utilizo para conectarme es el O73 Oracle v7.3. Entiendo que es un tema del driver, ya que es lo único que cambia de la 4 a la 6.5, en lo que a la conexión se refiere, y como ya os he dicho, en la 4 funciona sin problemas.
Se como solucionarlo, pero hay que cambiar los argumentos de la datawindow, y son muchas, y a lo mejor la solución es mas sencilla y alguno de vosotros la sabe porque ya le haya sucedido lo mismo.
Gracias de antemano y un saludo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Error en paso de parametros a datawindow

Publicado por Rodrigo rmendezg@gmail.com (28 intervenciones) el 20/05/2016 15:29:50
Hola Jerónimo.

A mí me pasa con frecuencia ese problema y lo he resuelto cambiando el parámetro NLS_LANG en el REGEDIT de Windows. El que me funciona sin problemas es NLS_LANG = AMERICAN_AMERICA.WE8ISO8859P1, aunque también existen otros valores diferentes que puedes consultar en Internet. Ese me ha funcionado para Costa Rica. Cabe destacar que este parámetro puede aparecer en varios lugares en el REGEDIT, por lo que deberías cambiarlo en todos.

Igual, te agradezco indicarme si te funciona con este cambio.

Slds.

Rodrigo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Error en paso de parametros a datawindow

Publicado por Jeronimo (3 intervenciones) el 28/05/2016 18:37:15
Disculpa Rodrigo, que no te haya respondido antes.
No puedo probar lo que me comentas porque tenemos varios entornos de programación, Forms Builder, .NET y el cambiar este parámetro
del registro de Windows me va a afectar a los otro entornos que con la configuración actual funcionan sin problemas.
He probado lo siguiente:
SQLCA.Dbparm = "DisableBind=1"
y se resuelve el problema, pero en las sentencia SQL que manejan fechas, me da problemas de formato:
Ejemplo:
DateTime ldt_fini, ldt_ffin

SELECT fechafin
INTO ldt_ffin
FROM TFECHAS
WHERE fechainicio = :ldt_fini;

Me da error de 'Mes no valido'
En fin, el proceso de migración no ha dado ningún problema, pero a la hora de ejecutar
la aplicación, me están surgiendo este tipo de problemas, que en la versión anterior no se producían.

Cualquier idea al respecto, será bien recibida.

Saludos y gracias por tu tiempo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Error en paso de parametros a datawindow

Publicado por Leopoldo Taylhardat (690 intervenciones) el 04/06/2016 21:33:07
Saludos...

SELECT fechafin
INTO :ldt_ffin
FROM TFECHAS
WHERE fechainicio = :ldt_fini;


Faltan los dos puntos en la variable receptora...

Espero que te sirva...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar