【问题标题】:how to connect to another user in PL/SQL如何在 PL/SQL 中连接到另一个用户
【发布时间】:2013-01-21 06:27:51
【问题描述】:

我需要在 pl/sql 中从用户连接到另一个用户,注意我没有 DBA 权限。

你能给我两个用户之间连接的命令吗?

【问题讨论】:

  • 您真的需要以其他用户身份连接吗?或者只是访问另一个模式的对象(例如表)?
  • 我需要以新用户的身份连接,我有他的用户名和密码。使用表和程序......等
  • 然后@PetrPriby 为您提供了答案 - 只需向您的用户授予其他架构对象的权限并将它们引用为<other_schema>.<object>
  • 但我没有 DBA 权限。
  • 你有没有其他方法来保护 pl/sql 程序中的数据库来保护系统安全

标签: oracle plsql oracle11g plsqldeveloper


【解决方案1】:

PL/SQL 没有更改连接的命令。如果您需要某些特定权限,则必须授予它们。

【讨论】:

    【解决方案2】:

    您不需要新的连接,只需将其他用户名添加到他/她的表和过程中:

    SELECT * FROM user_name.his_table WHERE ...;
    

    如果您收到错误消息ORA-00942: table or view does not exists,则以新用户身份登录并设置访问权限:

    GRANT SELECT ON his_table TO <old_user>;
    

    【讨论】:

    • 老用户没有权限。我需要跳转到另一个用户来使用他的表和程序......等等是一个连接命令来做这个吗?就像是 sql 连接用户名/密码;
    • SQL*Plus 是一个连接到数据库的客户端程序。它可以作为另一个用户断开连接并重新连接。 PL/SQL 数据库中运行。一旦你作为用户 a 连接,你就不能在 PL/SQL 中作为另一个用户 b 连接。
    • .. 但是跳转到另一个用户确实没有必要。你有其他用户的密码,不是吗?
    • 是的,我有密码,如果你能告诉我如何跳转到另一个用户?
    • 您可以从 SQL*Plus 跳转,但不能从 PL/SQL 跳转。如果您有密码,请以其他用户身份连接并运行GRANT 语句。您需要 GRANT 方面的帮助吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-23
    • 2018-01-05
    • 2023-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多