SoloCodigo

Programación General => Power Builder => Mensaje iniciado por: marpresi en Jueves 9 de Octubre de 2008, 14:16

Título: Problema con sqlca.servername
Publicado por: marpresi en Jueves 9 de Octubre de 2008, 14:16
Hola gente!

mi problema es que al intentar hacer una coneccion a la base, si el parametro sqlca.servername esta vacio toma por defecto cualquier base que se encuentre iniciada y se conecta.

por que puede pasar esto?, yo creo que deberia darme un error al intentar conectarse de hecho lo tengo previsto pero no sucede.

bueno, nose si les ha pasado....

un abrazo grande
Martin.-
Título: Re: Problema con sqlca.servername
Publicado por: F_Tanori en Jueves 9 de Octubre de 2008, 18:28
Puedes mostrar el codigo de conexion, y que base de datos utilizas (DBMS)




Saludos
Título: Re: Problema con sqlca.servername
Publicado por: marpresi en Martes 14 de Octubre de 2008, 14:32
SI, muchas gracias por su preocupación.

Esta es la parte donde se setean los valores del sqlca:

Código: Text
  1. //Database ORACLE
  2. ls_environment = "Database"
  3. SQLCA = CREATE transaction
  4. SQLCA.DBMS = ProfileString(IniName, ls_environment, "DBMS", "")
  5. SQLCA.ServerName = ProfileString(IniName, ls_environment, "ServerName", "")
  6. SQLCA.LogId = ProfileString(IniName, ls_environment, "LogId", "")
  7. SQLCA.LogPass = pwd
  8. SQLCA.DBParm = ProfileString(IniName, ls_environment, "DBParm", "")
  9. SQLCA.AutoCommit = False
  10.  

y aquí el codigo de conexión:

Código: Text
  1. CONNECT USING SQLCA;
  2. if sqlca.sqlcode <> 0 then
  3.   open(ventana_inicio)
  4. end if
  5.  

lo que sucede en mi caso es que cuando el SQLCA.ServerName esta vacio la conexion se realiza igual con cualquier base que este iniciada en oracle. Esto a mi entender no deberia suceder y "connect using sqlca" deberia devolverme un -1.

Por que puede ser?

bueno, muchisimas gracias.-
Martin.-
Título: Re: Problema con sqlca.servername
Publicado por: juan_0986 en Martes 1 de Septiembre de 2009, 15:49
seria bueno que pongas los datos de tu ini, a lo mejor en el dbparm estas haciendo referencia a una base de datos,
cuando realizas una conexion nativa, no es necesario el dbparm, te paso un ejemplito de como me conecto al oracle desde power 10.5

// Profile dbin_native
SQLCA.DBMS = "O90 Oracle9i (9.0.1)"
SQLCA.LogPass = <*****>
SQLCA.ServerName = "dbin"
SQLCA.LogId = "altec"
SQLCA.AutoCommit = False
SQLCA.DBParm = ""

si el dbparm, no es el problema, entonces escribe los datos que estan en tu ini, para poder ayudarte.