Foros del Web » Programación para mayores de 30 ;) » .NET »

Evitar concurrencia

Estas en el tema de Evitar concurrencia en el foro de .NET en Foros del Web. Hola a todos. Estoy desarrollando una aplicacion que se instalara en varias maquinas clientes. Estas se conectan a un servidor Sql Server 2000/2005. Estoy trabajando ...
  #1 (permalink)  
Antiguo 13/06/2009, 23:18
 
Fecha de Ingreso: marzo-2005
Mensajes: 1.418
Antigüedad: 19 años
Puntos: 9
Evitar concurrencia

Hola a todos. Estoy desarrollando una aplicacion que se instalara en varias maquinas clientes. Estas se conectan a un servidor Sql Server 2000/2005.
Estoy trabajando con transacciones. ¿Esto es suficiente para evitar duplicados de registros durante inserciones que pueden producirse simultaneamente? u otros errores que pueden aparecer en consultas de actualizacion por conexiones simultaneas?.
Una forma que pense seria crear una tabla adicional en donde se guarden las acciones que se estan llevando a cabo en un momento dado. Antes de realizar un insert, delete o update a una tabla, se verificaria si la tabla a la que se le va a hacer la consulta esta siendo modificada. Es solo una idea.
Me gustaria saber que piensan al respecto.

Saludos.
__________________
Add, never Remove
  #2 (permalink)  
Antiguo 14/06/2009, 10:59
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
Respuesta: Evitar concurrencia

Lo primero que recomiendo es usar Stored Procedures y controlar por t-sql la transacción

Salu2
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
  #3 (permalink)  
Antiguo 14/06/2009, 17:14
 
Fecha de Ingreso: marzo-2005
Mensajes: 1.418
Antigüedad: 19 años
Puntos: 9
Respuesta: Evitar concurrencia

¿Por que store procedures?. Control por t-sql la transaccion no es la forma en que lo hace .Net?
Te voy a agradecer que me desburres en este sentido!.
Gracias de antemano.

Saludos.
__________________
Add, never Remove
  #4 (permalink)  
Antiguo 15/06/2009, 12:48
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
Respuesta: Evitar concurrencia

Cita:
Control por t-sql la transaccion no es la forma en que lo hace .Net?
De hecho puedes hacerlo de 2 formas, transacción por código .Net o transacción por BD, pero eso va a depender de lo que estés haciendo, para tu caso lo recomiendo por t-sql

Cita:
¿Por que store procedures?.
Porque es más limpio, ideal para un modelo en capas, mas seguro, independencia entre app y BD, mejor mantenimiento, el gestor de base de datos crear un lock y unlock entre los procesos que se hagan de inserción, actualización, etc, evitas sql injection, son precompilados, etc

Aclaro que esas ventajas son por si estamos hablando de una aplicación que se conecte al mismo getor de bd porque si el día de mañána use otro gestor de bd la desventaja sería la portabilidad

Saludos
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
  #5 (permalink)  
Antiguo 16/06/2009, 10:18
 
Fecha de Ingreso: marzo-2005
Mensajes: 1.418
Antigüedad: 19 años
Puntos: 9
Respuesta: Evitar concurrencia

Gracias por las aclaraciones. El motor de base de datos va a ser siempre Sql Server 2000/2005, asi que respecto a la portabilidad no existira ningun problema.
Gracias nuevamente.
Saludos.
__________________
Add, never Remove
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 13:21.