Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Tablas planas
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 18-03-2017
DenisDiaz DenisDiaz is offline
Miembro
 
Registrado: feb 2007
Posts: 55
Poder: 18
DenisDiaz Va por buen camino
Question Conexion por defecto

Hola

Tengo una conexión usando el componente FireDac. En el ambiente de desarrollo usualmente tengo la propiedad connected = True, cuando ejecuto el programa en el equipo del cliente da error pues los datos de conexión del cliente son diferentes y el programa ejecuta la conexión antes de que pueda pasarle los datos de la conexión del cliente. Quisiera saber si existe forma de poner la propiedad connected en false antes de que el programa intente conectarse usando la configuracion por defecto y así evitar el error.

Muchas gracias por sus respuestas.
Responder Con Cita
  #2  
Antiguo 18-03-2017
Avatar de Caminante
Caminante Caminante is offline
Miembro
 
Registrado: oct 2010
Ubicación: Lima - Peru
Posts: 338
Poder: 14
Caminante Va camino a la fama
Hola

Solo hay que poner la popiedad connected a false en tiempo de diseño y en el evento beforeconnect asignar los valores de conexion correctos por ejemplo desde un archivo ini.

Espero te sea util

Saludos
__________________
Caminante, son tus huellas el camino y nada más; Caminante, no hay camino, se hace camino al andar.
Antonio Machado
Responder Con Cita
  #3  
Antiguo 18-03-2017
DenisDiaz DenisDiaz is offline
Miembro
 
Registrado: feb 2007
Posts: 55
Poder: 18
DenisDiaz Va por buen camino
Gracias por la respuesta.

Si pongo la propiedad en false en tiempo de diseño no tengo el problema, lo que sucede es que muchas veces se me olvida actualizar la propiedad y quisiera controlarlo por código para no depender de la memoria, pero todo depende de si es posible, de no poderse será cuestión de estar más pendiente.
Responder Con Cita
  #4  
Antiguo 18-03-2017
orodriguezca orodriguezca is offline
Miembro
 
Registrado: ene 2009
Posts: 221
Poder: 16
orodriguezca Va por buen camino
El componente de conexión de Firedac tiene una propiedad llamada ConnectedStoredUsage. En el Inspector de Objetos puedes establecer el valor ConnectedStoredUsage.auDesignTime a "True" y ConnedtedStoredUsage.auRunTime a "False"; de esta forma se puede dejar el componente conectado en tiempo de diseño, pero no lo estará cuando se ejecute la aplicación.
Responder Con Cita
  #5  
Antiguo 18-03-2017
Avatar de AgustinOrtu
[AgustinOrtu] AgustinOrtu is offline
Miembro Premium
NULL
 
Registrado: ago 2013
Ubicación: Argentina
Posts: 1.858
Poder: 15
AgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en bruto
Yo nunca tuve problemas con eso. Se supone que si una conexion esta cerrada, e intentas ejecutar un query por ejemplo, la conexion se abre automaticamente. O estoy equivocado?
Responder Con Cita
  #6  
Antiguo 18-03-2017
orodriguezca orodriguezca is offline
Miembro
 
Registrado: ene 2009
Posts: 221
Poder: 16
orodriguezca Va por buen camino
Cita:
Empezado por AgustinOrtu Ver Mensaje
Yo nunca tuve problemas con eso. Se supone que si una conexion esta cerrada, e intentas ejecutar un query por ejemplo, la conexion se abre automaticamente. O estoy equivocado?

Tu apreciación es correcta AgustinOrtu. El problema que se quiere resolver aquí es el que ocurre cuando "accidentalmente", en tiempo de diseño, dejamos abierta la conexión a la base de datos, pues los parámetros de conexión son los de nuestro ambiente de Desarrollo (IP, Usuario, password, ect). Cuando la aplicación se ejecuta en el ambiente de producción "revienta", pues el componente de conexíón (adConnection) trata de establecer conexión tan pronto se crea el modulo de datos y antes de configurar los parámetros de conexión con los valores adecuados (posiblemente de un archivo .ini).

FireDac en su componente ADConnection (o FDConnection) resuelve este problema mediante la utilización de la propiedad ConnectedStoredUsage.

Por supuesto, los programadores que prefieren crear los objetos "al vuelo" y no en tiempo de diseño, no experimentan este tipo de problemas.
Responder Con Cita
  #7  
Antiguo 18-03-2017
DenisDiaz DenisDiaz is offline
Miembro
 
Registrado: feb 2007
Posts: 55
Poder: 18
DenisDiaz Va por buen camino
Thumbs up

Muchas gracias por la solución, voy a probarla.
Responder Con Cita
  #8  
Antiguo 18-03-2017
Avatar de AgustinOrtu
[AgustinOrtu] AgustinOrtu is offline
Miembro Premium
NULL
 
Registrado: ago 2013
Ubicación: Argentina
Posts: 1.858
Poder: 15
AgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en bruto
Ah creo que ya se por donde van los tiros

Si abres un Query en tiempo de diseño te activa la conexion por mas que la tengas a False y luego te queda en True

No usas versionado de codigo fuente? Este tipo de problemas los detectas en un santiamen
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
abrir: por defecto Max_E. Varios 9 20-10-2008 16:55:24
defecto del mysql_fetch_array()??? gabrielflowers PHP 3 23-05-2008 17:22:13
DateTimePicker por defecto... eli.vidal Varios 1 21-11-2005 17:35:16
Ejecucion por defecto... craven OOP 2 04-07-2003 13:10:15
opcion por defecto Irina Varios 2 16-05-2003 01:13:02


La franja horaria es GMT +2. Ahora son las 16:01:41.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi