Não é possível conceder aos usuários acesso a uma exibição em uma tabela virtual na Data Virtualization
Um usuário chamado userB tem a função de Engenheiro Data Virtualization e cria uma visualização baseada em tabelas virtuais. Porém, userB não pode conceder aos usuários acesso a essa visualização.
Sintomas
Um usuário que é nomeado userA cria uma tabela virtual denominada VIRTUAL_A. Um usuário que é nomeado userB cria uma view que é denominada VIEW_B da tabela VIRTUAL_A. A permissão para acessar a tabela " VIRTUAL_A é concedida a todos os usuários " Data Virtualization usando a opção " Todos os usuários de virtualização de dados na página " Gerenciar o acesso.
O usuário denominado userB tenta conceder acesso a userC na visualização VIEW_B, mas obtém um erro que é semelhante ao exemplo a seguir.
Code 500: SQLExecute: {42501} [IBM][CLI Driver][DB2/LINUXX8664]
SQL0551N The statement failed because the authorization ID does not have the required authorization or privilege to perform the operation.
Authorization ID: "USERB". Operation: "GRANT". Object: "USERB.VIEW_B". SQLSTATE=42501
Causas
Mesmo que o userB seja o criador da visualização VIEW_B, o userB não terá as permissões necessárias na tabela VIRTUAL_A para conceder acesso aos usuários em uma visualização dependente de VIRTUAL_A.
Resolvendo o problema
GRANT SELECT ON TABLE "schema".VIRTUAL_A TO "userB" WITH GRANT OPTIONEsse workaround só é necessário quando um usuário (userB no exemplo) recebeu permissões de acesso a uma tabela virtual (VIRTUAL_A no exemplo) usando a opção Todos os usuários de virtualização de dados.