Error SQL0727N al consultar los resultados de la vista en Data Virtualization

Última actualización: 17 mar 2025
Error SQL0727N al consultar los resultados de la vista en Data Virtualization

Es posible que encuentre errores SQL0727N si trabaja en un entorno que depende en gran medida del control de acceso basado en grupos de usuarios.

Síntomas

Se devuelve un mensaje de error SQL0727N al consultar una vista.

SQL0727N  An error occurred during implicit system action type "3". 
Information returned for the error includes SQLCODE "-142", SQLSTATE "     " 
and message tokens "".  SQLSTATE=56098

Causas

Este problema se puede producir cuando se utiliza ampliamente el control de acceso y la autorización basados en grupos. Este error se produce cuando consulta las vistas que se crean en las tablas virtuales si otras condiciones también son verdaderas. En concreto, el acceso del creador de la vista a la tabla subyacente se basa en la pertenencia a grupos. Cuando se accede a estas vistas, se comprueba el acceso del usuario a la vista y el acceso del creador de la vista a la tabla subyacente en la que se basa la vista. Puesto que el acceso del creador de la vista a la tabla subyacente se basa en un proveedor de identidad externo, la vista se marca como no válida mientras espera la revalidación.

Para obtener más información, consulte Restricciones del uso de privilegios de grupo al ejecutar sentencias DDL o enlazar paquetes.

Resolución del problema

  1. Si el error es resultado de una vista que está marcada como no válida, un usuario con el rol Administrador puede resolver la condición que ha hecho que la vista se haya marcado como no válida. Cuando se trabaja con el acceso basado en grupos, generalmente un administrador debe otorgar privilegios SELECT al usuario en lugar de o además del grupo.

    También puede conceder acceso público a sus objetos para todos los roles o todos los usuarios de Data Virtualization , y luego restringir el acceso mediante el uso de reglas de protección de datos que se definen en grupos. Para más información, consulte Regulación de datos virtuales con normas de protección de datos en Data Virtualization.

  2. Cuando se realiza la acción correctiva, al ejecutar SYSPROC.ADMIN_REVALIDATE_DB_OBJECTS() en ese objeto, se vuelve a validar el objeto. El acceso posterior al objeto se realiza correctamente. Este procedimiento requiere un usuario Data Virtualization con rol Admin para ejecutar los pasos necesarios. La ejecución del procedimiento debe seguir esta secuencia.
CALL SYSHADOOP.BIG_SQL_SERVICE_MODE('ON');
CALL SYSPROC.ADMIN_REVALIDATE_DB_OBJECTS(object-type, object_schema, object_name);
CALL SYSHADOOP.BIG_SQL_SERVICE_MODE('OFF');

Para obtener más información, consulte los recursos siguientes.

  1. Procedimiento ADMIN_REVALIDATE_DB_OBJECTS - Revalidar objetos de base de datos no válidos
  2. auto_reval - Parámetro de configuración de revalidación e invalidación automática