Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 22-05-2010
Delphitest Delphitest is offline
Miembro
 
Registrado: sep 2006
Ubicación: Salamanca-España
Posts: 249
Poder: 18
Delphitest Va por buen camino
Cuando conectar la BD y abrir las tablas

Buenos días,

estoy haciendo un programa con Lazarus y finalmente uso PostgreSQL par las Bases de datos.

He instalado Zeos para la conexión y resto que necesito.

Al tener varios formularios que acceden a las diferentes tablas he preferido crear un DataModule con la conexión a la BD y tambien meto ahi los DataSet y DataSources.

Para tener esas tablas disponibles en el resto de form incluyo en "uses" el nombre del DataModule y asi ya dispongo de ello.

La duda que tengo es si es recomendable conectar la BD y abrir las tablas en el datamodule para que estén disponibles a lo largo de toda la aplicación o por lo contrario es mejor abrir y cerrar continuamente las tablas y la conexion a medida que los forms las necesiten.


Muchas Gracias por vuestra atención
__________________
Mi proyecto paso a paso (Parte I)
Responder Con Cita
  #2  
Antiguo 22-05-2010
Avatar de movorack
[movorack] movorack is offline
Miguel A. Valero
 
Registrado: feb 2007
Ubicación: Bogotá - Colombia
Posts: 1.346
Poder: 20
movorack Va camino a la famamovorack Va camino a la fama
Algunos componentes... no se si los Zeos al tratar de hacer una consulta u obtener datos de una tabla si no estás conectado inmediatamente activan la conexión... por lo menos PostgresDAC lo hace así...

Ahora para mi siempre realizo la conexión a la DB desde el inicio del programa... y como está parametrizada desde un INI de paso verifico que todo esté OK.

Abrir las tablas en el momento que se requieran... y si puedes cerrarlas al cerrar el formulario para que no ocupen memoria.

tambien uso PostgreSQL cualquier duda que tengas ya sabes que estamos dispuestos a ayudar; Siempre.

-- We are of peace. Always
__________________
Buena caza y buen remar... http://mivaler.blogspot.com
Responder Con Cita
  #3  
Antiguo 22-05-2010
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.310
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Pues coincido con lo dicho.
Salvo que haya condiciones fuera de lo normal, lo lógico es mantener la conexión abierta con Base de datos e ir accediendo a las tablas vía (Table o Query) sólo cuando lo necesites y no mantenerlas abiertas.

Salvo que lo que debas hacer requiera algo especial, creo que es una buena "norma general".
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.

Última edición por Neftali [Germán.Estévez] fecha: 22-05-2010 a las 12:21:41.
Responder Con Cita
  #4  
Antiguo 22-05-2010
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 24
ContraVeneno Va por buen camino
Según entiendo, la mejor forma de hacer esto, sería siguiendo la regla de programación #513522378:

Conecta lo más tarde posible y desconecta lo más pronto posible.

Según me recomiendan, ni la conexión a la base de datos debería estar activa todo el tiempo.
__________________

Responder Con Cita
  #5  
Antiguo 22-05-2010
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.310
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
La conexión sí la mantendría abierta puesto que es bastante costosa de hacer (en comparación con otras operaciones). Si continuamente se hacen consultas y en cada una se conecta y desconecta, esto supone una pérdida grande de tiempo.

En sistemas con mucha carga y muchas conexiones se puede evaluar el uso de Connection Pooling, que permite compartir X conexiones abiertas entre X+N equipos.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
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 tablas de Classic Ges Sick boy Tablas planas 5 16-04-2012 15:38:02
Actualizar las tablas solo cuando han cambiado JULIPO MySQL 5 27-06-2006 12:45:14
Abrir y Activar Tablas martinc5 Conexión con bases de datos 1 20-05-2006 03:33:17
abrir tablas de jbase... User_baja1 Varios 0 27-06-2005 16:12:33
Abrir programas con parámetros cuando se recibe un mail Athalon Internet 2 04-07-2003 14:14:05


La franja horaria es GMT +2. Ahora son las 14:11:22.


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