Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Cuando conectar la BD y abrir las tablas (https://www.clubdelphi.com/foros/showthread.php?t=68071)

Delphitest 22-05-2010 07:44:04

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

movorack 22-05-2010 08:39:32

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 :D

Neftali [Germán.Estévez] 22-05-2010 12:05:56

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".

ContraVeneno 22-05-2010 18:35:56

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.

Neftali [Germán.Estévez] 22-05-2010 18:58:57

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.


La franja horaria es GMT +2. Ahora son las 12:04:35.

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