Foros del Web » Programando para Internet » ASP Clásico »

Concurrencia a una base de datos

Estas en el tema de Concurrencia a una base de datos en el foro de ASP Clásico en Foros del Web. En mi página, tengo un problema de concurrencia sobre la base de datos, lo cual no sé como solucionar, y lo único que se me ...
  #1 (permalink)  
Antiguo 11/02/2004, 08:12
 
Fecha de Ingreso: enero-2004
Ubicación: Buenos Aires
Mensajes: 32
Antigüedad: 20 años, 4 meses
Puntos: 0
Concurrencia a una base de datos

En mi página, tengo un problema de concurrencia sobre la base de datos, lo cual no sé como solucionar, y lo único que se me ocurre es conseguir que el fichero que realiza la actualización se pueda ejecutar de a un pedido por vez. Creo que esto es parte de la configuración del servidor, necesito que alguien me diga como hacer esto o bien que me dé alguna solución más eficiente que yo desconozca. Desde ya muchas gracias.
  #2 (permalink)  
Antiguo 11/02/2004, 08:50
Avatar de PMP
PMP
 
Fecha de Ingreso: febrero-2003
Ubicación: Chacabuco - Buenos Aires
Mensajes: 214
Antigüedad: 21 años, 3 meses
Puntos: 1
Utiliza la propiedad de recordset LockType con el valor 2 ó 3.

Saludos.
  #3 (permalink)  
Antiguo 11/02/2004, 09:53
 
Fecha de Ingreso: enero-2004
Ubicación: Buenos Aires
Mensajes: 32
Antigüedad: 20 años, 4 meses
Puntos: 0
El problema al usar el recordset es que en el acceso a la base de datos necesito hacer una comprobación antes de insertar el registro ya que debido a la lógica de los datos no puedo utilizar una primary key (mis datos se ubican en rangos de fechas). Es decir, debo realizar más de un consulta con lo que el recordset me libera la tabla entre consulta y consulta (¿o no?), siendo este tema el que me trae el problema de la concurrencia, ya que nada impide que tras realizar la consulta, otro usuario esté grabando el valor que me hubiese negado la inserción del dato que se está por insertar gracias a que la consulta me devolvió un valor favorable para esto. Con lo que sigo en la misma situación ¿no? Desde ya gracias nuevamente.
  #4 (permalink)  
Antiguo 11/02/2004, 10:17
Avatar de PMP
PMP
 
Fecha de Ingreso: febrero-2003
Ubicación: Chacabuco - Buenos Aires
Mensajes: 214
Antigüedad: 21 años, 3 meses
Puntos: 1
Cuántas consultas debes hacer?
Yo cuando tengo que comprobar si un registro existe y si no existe crearlo, utilizo lo siguiente:

<%
Set rs = Server.CreateObject("ADODB.Recordset")
rs.ActiveConnection = "DSN"
rs.Source = "SELECT tabla.* FROM tabla WHERE id = " & varID
rs.CursorType = 1
rs.LockType = 3
rs.Open

if rs.BOF AND rs.EOF then
rs.AddNew
end if

rs("campo1") = Request.Form("txtCampo1")
rs("campo2") = Request.Form("txtCampo2")
rs.Update

rs.Close
Set rs = Nothing
%>


De esta forma solo abro una sola ves el recodrset.
Se entiende?

Saludos y espero te sirva de algo.
  #5 (permalink)  
Antiguo 11/02/2004, 10:28
 
Fecha de Ingreso: enero-2004
Ubicación: Buenos Aires
Mensajes: 32
Antigüedad: 20 años, 4 meses
Puntos: 0
Mil gracias
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 19:16.