1

如何在数据窗口中处理 DB 列权限以避免“SELECT permission denied on column”....

我有一个显示表列的数据窗口,某些列的用户/角色权限不同,并且根据数据库级别的业务规则进行设置,以避免覆盖应用程序权限......

问题是在某些列上没有“选择权限”的登录系统的用户将收到错误消息“在 xyz 列上拒绝选择权限...”,并且数据窗口将不会检索任何信息,而不是仅检索行对于列具有“选择”权限...

有谁知道如何使用 datawindow 处理类似情况的列权限?

4

1 回答 1

1

我所看到的没有简单的方法来处理这个问题。

不确定您是否正在寻找想法,但这取决于有多少可能的变化以及您希望解决方案的动态程度。

我从未在使用 DBMS 级别的列级别权限的商店工作过,但假设有针对各种角色锁定的列组。如果有少数(比如 3 个)变体,那么我可能只制作三个版本的数据对象并在检索之前换出适当的版本。

否则,更困难的选择是在检索之前通过角色或以某种方式查询系统表来动态修改数据对象。

我从未尝试过并且不确定它是否可行的另一个想法是从 SQL 动态创建数据对象,我相信该函数称为 createfromsql,并且只使用 select * from xyz 但这只有在仅用于显示时才可行否则,您将进行大量动态修改以使数据对象可更新并设置所有可更新列。

祝你好运。

于 2010-11-29T01:12:46.040 回答