PDA

Ver la Versión Completa : q base de datos elegir??


Sirkius
03-06-2004, 21:21:06
Hola, estaba buscando una base de datos similar a MySQL, es decir, con funcioamiento de servidor/cliente, sin trabajar directamente con los archivos, pero que soporte cursores dinamicos para poder ver las actualizaciones que hacen otros usuarios.

Creo que MySQL no los soporta, porque no soporta cursores server-side, corregidme si me equivoco...

Me podeis recomendar alguno?? gracias

jachguate
03-06-2004, 22:11:05
Hola. Bienvenido a los foros.

El poder ver actualizaciones que realizan otros clientes en un entorno multiusuario con una base de datos relacional no tiene que ver con "cursores dinámicos", sino con aislamiento de transacciones.

Podes perfectamente usar firebird u oracle, estableciendo el nivel de aislamiento a read-commited y definir un método que te permita refrescar tus datasets en los momentos adecuados (ya sea por notificaciones o por intervalos).

Con firebird, podes basarte en el mecanismo de eventos de la base de datos, por ejemplo, para recibir una notificación que te indique cuando un dataset necesita ser refrescado.

Con el resto de bases de datos podes basarte en timers e intervalos de tiempo para hacer el refresco. En fin, este tema se ha tratado en varias ocasiones por aqui, asi que dejo que utilices la busqueda para hallar mas información al respecto.

Hasta luego

;)

Sirkius
04-06-2004, 08:46:50
Gracias, pero no soy nuevo, sólo es un cambio de nick :D .

Lo que me dices sería para refrescar el dataset ante cambios hechos por el propio programa si se utilizase por notificaciones y si es por intervalos es un poco costososo... de todas formas miraré las dos posibilidades para ver si saco algo en claro.

Gracias por responder :)

EDITO: ya he estado viendo otros hilos, pero tengo una duda, he leido que hay que cerrar y abrir la tabla para actualizar los datos. En ADO que es lo que he estado utilizando siempre (vengo de VB) y con cursor dinamico, cuando se actualiza algun dato también recarga todos los datos?? Lo digo porque lo veo un poco lento...

__marcsc
04-06-2004, 16:05:26
Gracias, pero no soy nuevo, sólo es un cambio de nick :D .

EDITO: ya he estado viendo otros hilos, pero tengo una duda, he leido que hay que cerrar y abrir la tabla para actualizar los datos. En ADO que es lo que he estado utilizando siempre (vengo de VB) y con cursor dinamico, cuando se actualiza algun dato también recarga todos los datos?? Lo digo porque lo veo un poco lento...

Hasta donde yo sé, lo que hace el cursor dinámico es ir refrescandose periódicamente lo que, efectivamente lo que lo hace un poco ineficiente respecto otras soluciones. Por eso se suele recomendar el uso de otras opciones a menos que no exista un motivo muy concreto.

Lo que yo suelo utilizar es u cursor estático en el cliente, con refrescos explícitos via llamada a Requery, en lugar de los implícitos que haría el cursor dinámico en el servidor.

Saludos.

Sirkius
04-06-2004, 16:14:01
Hasta donde yo sé, lo que hace el cursor dinámico es ir refrescandose periódicamente lo que, efectivamente lo que lo hace un poco ineficiente respecto otras soluciones. Por eso se suele recomendar el uso de otras opciones a menos que no exista un motivo muy concreto.

Lo que yo suelo utilizar es u cursor estático en el cliente, con refrescos explícitos via llamada a Requery, en lugar de los implícitos que haría el cursor dinámico en el servidor.

Saludos.
Ok, muchas gracias, la verdad es que no comprendía muy bien como funcionaba el cursor dinámico, pero visto lo visto, voy a refrescar yo mismo los dataset, que así tengo más control :cool:

jachguate
04-06-2004, 18:09:17
Bueno... habrá que aclarar términos. Me imagino que "cursor dinámico" es jerga de algun frabricande de bd's, y me gustaria que se aclare de que base de datos podriamos estar hablando, o que al menos se aclare que es parte del estándar.

Yo habia entendido, por cursor dinámico, aquel obtenido usando SQL dinámico, digamos, en un Stored Procedure....

Hasta luego.

;)

__marcsc
04-06-2004, 18:48:31
Hola jachguate :)

Efectivamente es como dices, más que jerga de una BD es jerga de unos componentes de acceso a BD, en este caso ADO.

En ADO un DataSet tipo Query o Table puede tener cuatro posibles tipos para el cursor: Static, OpenForward, KeySet y Dynamic.

Saludos!