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

Conflicto de escritura en Access por trigger

Estas en el tema de Conflicto de escritura en Access por trigger en el foro de SQL Server en Foros del Web. Buenas a todos, Tengo una base de datos SQL Server 2000 con la que trabajo desde Access XP. Una de las tablas tiene un trigger ...
  #1 (permalink)  
Antiguo 07/02/2007, 11:34
Avatar de cableh  
Fecha de Ingreso: diciembre-2004
Mensajes: 54
Antigüedad: 19 años, 4 meses
Puntos: 0
Conflicto de escritura en Access por trigger

Buenas a todos,

Tengo una base de datos SQL Server 2000 con la que trabajo desde Access XP. Una de las tablas tiene un trigger de actualización que actualiza otra tabla distinta. Cuando muestro los datos de la primera tabla en un formulario continuo muestra el mensaje de 'Conflicto de escritura ...' cuando salta el trigger (es decir al actualizar un registro).

No soy capaz de solucionar el problema.

¿Algún consejo?

Gracias.
  #2 (permalink)  
Antiguo 08/02/2007, 12:44
Avatar de el.patron  
Fecha de Ingreso: febrero-2007
Ubicación: Sevilla (España)
Mensajes: 6
Antigüedad: 17 años, 3 meses
Puntos: 0
Re: Conflicto de escritura en Access por trigger

Habría que ver el trigger.

¿Puedes poner el código?

Lo importante es determinar si el trigger falla porque tiene un error o el error está en los datos que violan alguna regla de intergridad de la base de datos.

Saludos
  #3 (permalink)  
Antiguo 12/02/2007, 06:51
Avatar de cableh  
Fecha de Ingreso: diciembre-2004
Mensajes: 54
Antigüedad: 19 años, 4 meses
Puntos: 0
Re: Conflicto de escritura en Access por trigger

El trigger yo creo que funciona bien.

El trigger se dispara al modificar un registro de la tabla Inmuebles y actualiza la tabla auditoriainmuebles.

El código es el siguiente:

ALTER TRIGGER Inmuebles_Ultima_Modificacion_Update
ON dbo.Inmuebles
FOR UPDATE
AS

update p set UltimaModificacion=GetDate()
from inserted i inner join deleted d on i.IdInmueble=d.IdInmueble inner join auditoriainmuebles p on p.IdInmueble=i.IdInmueble where (i.TipoInmueble<>d.TipoInmueble or i.alquiler<>d.alquiler or i.venta<>d.venta or i.traspaso<>d.traspaso or
i.Dirección<>d.Dirección or i.Localidad<>d.Localidad ...)

Los puntos suspensivos indican más or con la misma sintaxis.

Saludos
  #4 (permalink)  
Antiguo 13/02/2007, 02:19
Avatar de el.patron  
Fecha de Ingreso: febrero-2007
Ubicación: Sevilla (España)
Mensajes: 6
Antigüedad: 17 años, 3 meses
Puntos: 0
Re: Conflicto de escritura en Access por trigger

Creo que tienes razón. Ese trigger sólo actualiza la fecha de última actualización.

Así el problema debe estar en las reglas de integridad de la tabla.

¿Has mirado si la tabla Auditoriainmuebles tiene alguna restricción que haga referencia a la fecha?

Puede ser un check u otro trigger que esté definido en esa tabla para el caso de actualización.

Si quieres nos ponemos de acuerdo por privado y le echo un vistazo a la base de datos, a ver si cuatro ojos ven más...

saludos y paciencia
  #5 (permalink)  
Antiguo 14/02/2007, 13:01
Avatar de Mithrandir
Colaborador
 
Fecha de Ingreso: abril-2003
Mensajes: 12.106
Antigüedad: 21 años
Puntos: 25
Re: Conflicto de escritura en Access por trigger

También pon el mensaje de error completo, puede que esos puntos suspensivos estén ocultado información valiosa para el debug
__________________
"El hombre, en su orgullo, creó a Dios a su imagen y semejanza."
Friedrich Nietzsche
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 18:09.