Estimada Comunidad SIU:
Necesito cambiar desde el SQL editor la fecha_ingreso de la tabla alumnos y el sistema no me deja porque tiene activado un trigger, cuando intento desactivar el trigger con el siguiente comando:
SET TRIGGERS FOR sga_alumnos DISABLED;
el sistema muestra el siguiente mensaje de error:
[informix][universal server][guarani] SQL ERROR (-242): Colud not open database table (dba.sga_alumnos).[ ISAM error -106 : ISAM error: non-exclusive Access. ]
el cual no se a que se debe ya que en el sistema estoy logueado como DBA y para comprobar esto, ejecuté la siguiente instrucción EXECUTE PROCEDURE sp_soy_dba(); la cual se ejecutó correctamente.
Debo decir además que el SIU abre correctamente y que funciona a la perfección.
¿Alguien me podría decir como cambiar esta fecha y la fecha_desde desde la tabla sga_cambios_plan?
Gracias.
Hola
Probastes
set triggers tu_alumnos disabled;
Emilio
Ese error suele ser porque alguien tiene tomada la tabla dentro de una transacción en una sesión distinta de la tuya, y por lo tanto no puede abrir la tabla en modo exclusivo (es lo que necesita para deshabilitar el trigger).
Saludos
Gustavo
Si haces una consulta a esa tabla u otra, tambien te da el mismo error?
Fijate de checkear las tablas de catalogo de la base ya que podrian estar corruptas.
Desde linea de comandos y con el usuario informix corre lo siguiente:
oncheck -cc nombre_base
Fijate si este checkeo te muestra algun error.
Hola a todos, gracias por contestar en tan corto plazo, finalmente logre cambiar la fecha en la tabla sobre una la maquina virtual, luego probaré en el servidor, quizás hubo algún error en la tabla o estaba bloqueada, quizás el error se arreglo al realizar un DBimport sobre la BD.
Saludos.
Me olvide de preguntar: ¿como puedo verificar que el triggers este activado después de aplicar la instrucción SET TRIGGERS FOR sga_alumnos enabled;?
Gracias.
la tabla que contiene los estados es sysobjstate
fijate.
Emilio
con la siguiente instrucción:
Select * from sysobjstate where state != “E”;
podrás verificar que no te haya quedado ningún trigger deshabilitado. Para más información, fijate en los datos de esa tabla como indica Emilio.
Es conveniente el uso de esa sentencia cada vez que uno deshabilita triggers, ya que el costo de dejar un trigger deshabilitado puede ser importante.
Saludos
Gustavo