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 Temas de Hoy

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.271
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: 23
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.271
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



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 10:27:08.


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