Power Builder - Driver Intersolv Oracle

 
Vista:

Driver Intersolv Oracle

Publicado por Satxa (7 intervenciones) el 06/06/2003 11:22:39
Estimad@s tod@s:

Trabajo con la versión de PowerBuilder 7.0.3 tengo dos problemas a la hora de trabajar contra Oracle utilizando el Driver ODBC Intersolv para Oracle8:

1. Cuando conecto a mi aplicación siempre me aparece una segunda ventana de conexión propia del Driver ODBC, aunque sólo tenga que volver a dar al OK pero sale, como puedo quitarla?.

2. Este es más complicado, cuando el cliente de Oracle trabaja con las variables de registro NLS_LANG = 'Spanish_Spain.W.....' tengo errores producidos por el separador decimal y el formato de las fechas he conseguido solucionar el del separador decimal utilizando en el DBPARM la variable SeparatorDecimal pero las fechas sigo sin poder hacer nada, existe alguna variable en el DBPARM o forma de indicarle en la conexión a Oracle con este ODBC que quiero un NLS_LANG = 'American_america.w....'? o de otra forma como puedo decirle al Driver de que carpeta de oracle en el registro debe leer las variables?.

Es muy urgente, muchas gracias por vuestra atención.

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

RE:Driver Intersolv Oracle

Publicado por Milson Cardona (613 intervenciones) el 06/06/2003 15:32:36
Un saludo especial desde COLOMBIA

hay una forma de cambiar toda la configuración de ORACLE CLIENT en el registro de windows o comunmente conocido como REGEDIT....
NOTA: has primero una copia del registro, sabes que siempre tiene su riesgo tocarlo.
en HKEY_LOCAL_MACHINE - SOFTWARE - ORACLE - HOME0 (aunque si tienes varios clientes de oracle instalado tendrás varios HOME)
en la clave NLS_LANG le cambias el valor a AMERICAN_AMERICA.WE8ISO8859P1...

NOTA2: este es el SET de caracteres para el lenguaje americano en 9i, aunque en todas la versiones de ORACLE debe ser la misma, te recomiendo que mejor consultes tu DB primero para saber exactamente con cual SET fue creada, ya que para una total compatibilidad es necesario, lógicamente, que cliente y DB tengan el mismo SET de caracteres.

solucion 2
LA anterior configuración del REGEDIT la debes hacer en cada cliente, hay otra forma de hacerlo por código desde PB, así cada cliente que ejecute la aplicación se configurará automáticamente durante la ejecución del programa, PERO en tiempo de diseño seguir teniendo problemas.
//coloca el siguiente código en el open de la aplicación
string ls_session
ls_session = 'alter session set nls_date_language = english'
EXECUTE IMMEDIATE :ls_session USING vble_transaccional;
ls_session = 'alter session set nls_numeric_characters = ".,"'
EXECUTE IMMEDIATE :ls_session USING vble_transaccional;

de la misma forma podrías cambiar el SET completo con
ls_session = 'alter session set nls_lang = "AMERICAN_AMERICA.WE8ISO8859P1" '
EXECUTE IMMEDIATE :ls_session USING vble_transaccional;
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