none
Control Concurrencia RRS feed

  • Debate general

  • Buenas... estoy desarrollando de software para adminsitracion de obras para una empresa constructora... El proyecto se divide en 4 proyectos y la idea es que en cada obra funcione el sistema, centralizando en una base de datos sql server 2005 en la central de la empresa.... La pregunta que quiero saber es como controlar la concurrencia, porque puede pasar y vi en otros sistemas que muchas veces al realizar transacciones simultaneas se mezclan los datos de las diferentes usuarios. Que tecnica debe usar para controlar la concurrencia? es decir que cuando se ejecute una accion, no le permita ejecutar a otro usuario hasta que esta no termine. EStuve viendo y me parece que la solucion es usar Transacciones.... uso procedimientos almacenados... mi preg. es si esta es la mejor solucion o estoy equivocado.

    Atte,

    Muchas Gracias


    Dante Tagliavini

    • Tipo cambiado Eder Costa lunes, 20 de agosto de 2012 20:38
    • Cambiado Enrique M. Montejo martes, 16 de octubre de 2012 17:32 acceso a datos (De:Lenguaje VB.NET)
    lunes, 13 de agosto de 2012 14:08

Todas las respuestas

  • hola

    unas de las formas que puedes ahcerlo es por medio de un campo timespan para ver si se altero el registro

    esto lo explico en esta otra pregunta

    http://social.msdn.microsoft.com/Forums/es/vbes/thread/dcab78ba-c339-4696-a611-0c1bf2759c37


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    lunes, 13 de agosto de 2012 14:30
  • Hola leandro gracias por responder. Lei lo que me decis del campo timespan. Ahora te consulto por lo que entiendo este campo basicamente es importante cuando se acceden a datos y se quiere actualizar y los datos que el usuario esta viendo ya han sido cambiados.... Ahora no es tanto eso lo que me preocupa basicamente es carga de datos simultanea lo que mas me preocupa.... desde varias obras diferentes pueden solicitar por empleado la transferencia de personal y internamente les asigno un id de transferencia y lo que no quiero que pase es que se mezclen los id.... eso me cambiaria todo.... tal ves las transacciones en ese caso sea lo mejor? digo o no.... vi que la concurrencia puede ser optimista o pesimista... obviamente consume mas servicios la solucion que te digo. Ademas vi que el campo timespan se aplica a nivel de tabla?

    bueno espero tu respuesta


    Dante Tagliavini

    lunes, 13 de agosto de 2012 14:55
  • Hola:
    Mira el siguiente enlace a ver si te sirve de algo

    http://social.msdn.microsoft.com/Forums/es-ES/netfxes/thread/ee8d1d1b-2c7f-4214-8097-595c1e0f590f

    Un saludo desde Bilbo
    Carlos

     

    martes, 14 de agosto de 2012 9:03
  • Ahora no es tanto eso lo que me preocupa basicamente es carga de datos simultanea lo que mas me preocupa.... desde varias obras diferentes pueden solicitar por empleado la transferencia de personal y internamente les asigno un id de transferencia y lo que no quiero que pase es que se mezclen los id

    que seria mezclar los id? o sea si un empleado crea una transferencia y otro crea otra distintas son operaciones de insert, en el insert no hay concurrencia, si ambos cargan la misma descripcion bueno es un tema operativos quizas habria que validar que no se escriba algun mismo texto

    la concurrencia basicamente afecta a actualizacion de los datos, para que un usuario no pise lo que otro ya confirmo, si es alta de datos no aplica

    el campo timespan se aplica a nivel de tabla?

    si es un campo de la tabla


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    martes, 14 de agosto de 2012 12:08
  • hola leandro disculpa la demora en responder. Gracias por la aclaracion. Si mas que nada eso que me decis en la actualizacion de datos. Pero ahi basicamente lo harian el area de personal y taller no creo halla concurrencia. Lo que si seguro habra simultaneamente es alta de registos (INSERT).

    saludos


    Dante Tagliavini

    miércoles, 22 de agosto de 2012 15:13