Cambiar de base datos programáticamente???

Responder
bioalexy
Mensajes: 12
Registrado: 11 Feb 2016, 16:19

Cambiar de base datos programáticamente???

Mensaje por bioalexy » 07 Jun 2016, 23:54

Hola

Estoy trabajando en una aplicación que utiliza diferentes bases de datos dependiendo del país, me gustaría saber si es posible por ejemplo en una forma cambiar de país y que me cambie la conexión a su BD respectiva.

Trate de probar el comando "open" pero no me funcionó, no sé si tiene que ver con mi configuración (.asn) o de como cree las entidades en el modelo.

Cualquier ayuda es agradecida.

Saludos.

luis.vila
Mensajes: 193
Registrado: 17 Sep 2011, 12:46

Re: Cambiar de base datos programáticamente???

Mensaje por luis.vila » 08 Jun 2016, 07:41

Las distintas BD son en el mismo DBMS?
Es decir, todas están en un Oracle?

¿nos puedes mostrar la sección PATHS del ASN?

Normalmente se incluye un path indefinido que luego se terminará de definir con el open.
$stress ORA:?|?|?

Luego con open
open "|scott|tiger", "$stress"

Parece fácil pero tiene su cosa. También podrías enviarlo a distintos tipos de userver, cada uno especializado en un país con su DMBS diferente.

$status=0 ; se acabaron los problemas

bioalexy
Mensajes: 12
Registrado: 11 Feb 2016, 16:19

Re: Cambiar de base datos programáticamente???

Mensaje por bioalexy » 08 Jun 2016, 15:07

Si están en el mismo DBMS (SQL-Server 2008 R2)

En mi [PATHS] tengo:

$DAC MSS... -> esta es una DB centralizada
$DAT MSS... -> Este es el que quiero cambiar dependiendo el pais

$DEF $DAT

y en [ENTITIES] hago las referencias con las $DAT y $DAC

intentaré hacer la prueba con lo que me dejaste

Gracias

luis.vila
Mensajes: 193
Registrado: 17 Sep 2011, 12:46

Re: Cambiar de base datos programáticamente???

Mensaje por luis.vila » 08 Jun 2016, 15:25

En principio es cosa de definir el $DAT con los interrogantes.

Y antes de que llegues a hacer cualquier acceso a entidades de ese path, ejecutar el open. Debugea para ver el $status.

Si no haces el open pero intentas un acceso a BD (por ejemplo con un retrieve), saldrá una ventana preguntando por los datos de conexión. De hecho, puedes empezar la prueba sin el open.

$status=0 ; se acabaron los problemas

bioalexy
Mensajes: 12
Registrado: 11 Feb 2016, 16:19

Re: Cambiar de base datos programáticamente???

Mensaje por bioalexy » 11 Jun 2016, 03:01

Listo, me funcionó como sugeriste.

Gracias por la ayuda

Responder