Oracle – 授予用户会话权限

我有一个应用程序使用Oracle 9i作为数据库,我想授予更新/删除/插入等权限只有会话/连接使用此应用程序。

我希望所有其他连接通过Excel,访问等进入只读状态,以防止用户“意外”通过这些应用程序更改数据。

如果我有所有的用户从只读权限开始,那么当他们连接到这个应用程序时,我想要调用一个特定的存储过程来授予用户适当的权限。 一旦断开,用户将回到只读权限。

我已经在其他post中看到,你可以添加一个触发器的login,所以你可以检查,如果连接是从application1.exe那么你可以做的事情,或者如果他们从'excel.exe'连接,你可以阻止他们。

这接近我需要做的,但不完全。

我长期以来的问题是“我可以授予只有会话/连接的权利,然后才允许该用户能够更新基于特定应用程序运行的数据?

感谢您耐心的阅读这个问题。

卡尔

  1. 创build用户A并授予他执行DML操作的权限
  2. 创build用户B并仅授予读取权限
  3. 在您的应用程序中使用用户A.
  4. 在Excel中使用用户B,访问等