我正在尝试使用Toad在Oracle中创建视图,并且获取错误表或视图不存在。
但是当我自己运行查询时,它会成功执行。可能是什么原因?
{% if properties is defined %}
{% for property in properties %}
<tr>
<td>{{ property.propertyCategory }}</td>
<td>{{ property.uniqueName }}</td>
<td>{{ property.address }}</td>
<td>{{ property.city }}</td>
<td>{{ property.zipCode }}</td>
<td>{{ property.rentExcludingCharges }} €</td>
<td>{{ property.charges }} €</td>
<td>{{ property.purchasePrice }} €</td>
<td>
<a href="{{ path('property_show', {'id': property.id}) }}">Voir</a>
{% if is_granted('ROLE_USER') %}
<a href="{{ path('property_edit', {'id': property.id}) }}"><i class="fas fa-edit"></i> édition</a>
{% endif %}
</td>
</tr>
{% endfor %}
{% else %}
<tr>
<td colspan="16">Vous n'avez pas enregistré de propriétés</td>
</tr>
{% endif %}
答案 0 :(得分:3)
这是权限,或者更确切地说,是授予权限的方式。 MGR用户具有查询来自角色的基础表的特权。 Oracle不允许我们使用角色的特权来构建视图或过程。这就是安全模型的工作方式。
解决方案是要求表所有者MIS_PERMAL(或超级用户(例如DBA))将MV_INDEX_PERFORMAMCE的SELECT特权直接授予MGR。