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)
-   -   Recomendaciones conexion multipuesto ADO (https://www.clubdelphi.com/foros/showthread.php?t=76754)

mizzard 25-11-2011 02:07:34

Recomendaciones conexion multipuesto ADO
 
Hola a todos!, os planteo mi duda.

Tengo pensado realizar un programita y compartirlo en una carpeta de red, este programa accedera a 2 archivos diferentes .MDB de access.

Tenia pensado ubicar el exe en la carpeta compartida y que todos los usuarios lo abriesen, la duda que tengo es que aunq se que la opcion no es la mas optima, me gustaria que me guiasen si lo que voy a comentar es correcto o podria dar errores. Resumo

1º Carpeta de red compartida con mi archivo EXE, y 2 MDB

2º Cada usuario lo ejecutara en su puesto

3º Lo que hago hasta ahora es que conecto con los componentes ADOConnection, ADODataSource y ADOQuerys y extraigo la informacion necesaria cuando toque. Por lo que nada mas iniciar el programa hago esta conexion y la dejo abierta hasta que se cierre el mismo.

4º Como he comentado antes si varias personas abren el programa en sus respectivos puestos y las conexiones estan abiertas, podria generar algun problema al intentar actualizar las tablas? (en ningun momento modifico campos sobre una fila, simplemente añado informacion en una fila en concreto o creo una nueva fila)

Por metodologia de trabajo es imposible que dos usuarios accedan al mismo registro a la vez (se trata de un trabajo en cadena y cada parte de la cadena va a una tabla diferente y cada nuevo elemento es un nuevo registro).


Mi pregunta (y reitero q ya se que no es la opcion mas optima), ¿Deberia abrir y cerrar conexion únicamente cuando voy a realizar una modificacion o puedo dejarlo asi?

Espero que quede mi pregunta clara. Acepto informaciones y criticas ya que me encanta aprender de mis errores y aportar todo lo que pueda!

Un saludo!

NOTA: Cada vez que se realiza una accion cierro y limpio el query correspondiente y lo vuelvo a cargar con lo deseado para asi actualizarlo

newtron 25-11-2011 09:39:03

Hola.

En mi humilde opinión deberías conectarte a la base de datos al abrir el programa y mantener la conexión abierta hasta que se cierre por parte del usuario, de otra manera se te van a ralentizar bastante todas las operaciones de actualización de la base de datos.

Por otro lado el tener el programa en una carpeta compartida en el servidor y que los clientes tiren del mismo programa es una buena opción que te quitará problemas a la hora de actualizar el mismo, no es lo mismo actualizar y mantener un ejecutable que n ejecutables uno en cada máquina.

Particularmente es como yo trabajo.

Saludos

Neftali [Germán.Estévez] 25-11-2011 10:34:55

Cita:

Empezado por mizzard (Mensaje 419429)
Mi pregunta (y reitero q ya se que no es la opcion mas optima), ¿Deberia abrir y cerrar conexion únicamente cuando voy a realizar una modificacion o puedo dejarlo asi?

Coincido con ecfisa; Creo que el sistema que planteas es correcto. Realizar la conexión es lo que más cuesta y creo que no hay problema por dejarla abierta durante la ejecución del programa.
Sí deberías intentar (aunque no comentas que lo hagas) dejar consultas abiertas (si es que ejecutas consultas de selección).

mizzard 25-11-2011 10:40:47

Ok, todo claro como el agua, :D

Ya ire comentando los avances y las conclusiones conforme vaya avanzando. Muchisimas gracias y un abrazo!

newtron 25-11-2011 12:57:48

Cita:

Empezado por Neftali (Mensaje 419451)
Coincido con ecfisa

Yo también coincido con ecfisa. :p


La franja horaria es GMT +2. Ahora son las 22:16:06.

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