Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

consultas toman el mismo datos a la vez

Estas en el tema de consultas toman el mismo datos a la vez en el foro de Mysql en Foros del Web. Hola a todos, me pasa algo que a mi parecer no debería de pasar pero pasa y quisiera saber si alguien me pudiera dar una ...
  #1 (permalink)  
Antiguo 07/03/2012, 18:03
 
Fecha de Ingreso: marzo-2010
Mensajes: 64
Antigüedad: 14 años
Puntos: 2
consultas toman el mismo datos a la vez

Hola a todos, me pasa algo que a mi parecer no debería de pasar pero pasa y quisiera saber si alguien me pudiera dar una iluminada con este tema.

tengo dos aplicaciones java cada una en una maquina diferente conectadas a una misma red.

tengo una sola base de datos alojada en una de las maquinas que tiene aplicación
es decir maquina 1 tiene java1 y BD local
y maquina 2 tiene java2 y conexión a la BD de maquina uno espero explicarme.

el problema es el siguiente:

las dos aplicaciones hacen exactamente lo mismo pero están separadas por unos dispositivos que se están utilizando y no pudo agregar todas a un solo equipo.

en fin el punto es este cada aplicación tiene una clase DBManager y una función getEnvio();
getEnvio hace un select y toma un solo registro de una tabla y al tomarlo cambia su estatus para que nadie mas lo pueda tomar
pero resulta que estas dos aplicaciones en algunas ocasiones toman exactamente el mismo registro por lo tanto al enviar el dato resulta que dos dispositivos envian exactamente el mismo dato cuando solo uno de estos lo debe de enviar.

pongo este tema aquí porque creo que esta mas relacionado con la BD que con la programación de las aplicaciones.

Agradezco toda la ayuda posible
  #2 (permalink)  
Antiguo 08/03/2012, 04:57
Avatar de repara2  
Fecha de Ingreso: septiembre-2010
Ubicación: München
Mensajes: 2.445
Antigüedad: 13 años, 7 meses
Puntos: 331
Respuesta: consultas toman el mismo datos a la vez

Uitliza LOCK TABLE para evitar este problema, consulta el manual de mysql.
Saludos
__________________
Fere libenter homines, id quod volunt, credunt.
  #3 (permalink)  
Antiguo 09/03/2012, 17:18
 
Fecha de Ingreso: marzo-2010
Mensajes: 64
Antigüedad: 14 años
Puntos: 2
Respuesta: consultas toman el mismo datos a la vez

ok creo que si me va a servir pero tengo una duda.

el LOCK TABLE bloquea la tabla para la misma aplicación o bloquea la tabla para cualquier conexión. bueno creo que debería ser para cualquier conexión pero quisiera confirmarlo
pero esta duda surge porque cada una de mis aplicaciones hace una instancia de conexión a BD.

Bueno de cualquier forma gracias por el dato, lo implementare y comento el resultado.

GRACIAS!!!
  #4 (permalink)  
Antiguo 10/03/2012, 02:11
Avatar de repara2  
Fecha de Ingreso: septiembre-2010
Ubicación: München
Mensajes: 2.445
Antigüedad: 13 años, 7 meses
Puntos: 331
Respuesta: consultas toman el mismo datos a la vez

lee un poco sobre mysql, la instancia de la conexión no tiene mucho que ver con el proceso mysql. Al bloquear una tabla, quedará bloqueada para todos, no funciona por conexión o por proceso. Busca los detalles en el manual porque no los recuerdo, seguramente hay varios tipo de LOCK dependiendo el nivel de seguridad que necesites. Saludos
__________________
Fere libenter homines, id quod volunt, credunt.

Etiquetas: select, tabla, vez
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:47.