1

您好我正在使用 Oracle SQL Developer 3.1.06 并连接到 11g EE。每当我在左窗格中的任何过程中单击编辑时,在右侧窗口中显示“创建或替换”.. 我看不到任何过程代码。我可以在 toad 的同一登录中看到该过程。

4

2 回答 2

3

您确定您登录的用户是对象的所有者吗?

您可以通过查看 ALL_OBJECTS 表来检查所有者:

    SELECT * FROM ALL_OBJECTS WHERE OBJECT_NAME LIKE '%MYOBJECT%'

您登录的用户可能只有有限的查看权限,无法访问代码。如果您找到所有者,您可以在连接窗口中浏览其他用户并从相关用户中选择程序。然后,您应该能够看到所有内容。

于 2013-02-20T12:50:47.660 回答
0

我有一个名为 LOW_PRIVS 的用户。

他们只有 RESOURCE 和 CONNECT。

我创建了一个程序。

我打开程序。

在此处输入图像描述

以下是我们运行以获取本地过程的源代码:

WITH src AS (
    SELECT ROWNUM,
           line,
           text,
           origin_con_id
      FROM sys.all_source
     WHERE type    = :type
       AND owner   = :owner
       AND name    = :name
)
SELECT text
  FROM src,
       (
           SELECT MAX(origin_con_id) max_orig
             FROM src
       )
 WHERE origin_con_id   = max_orig
 ORDER BY line

我们正在访问属于 SYS 的 ALL_SOURCE 视图。这应该适用于任何人。

但测试和验证。

注意:我使用的是 18.2 版——比 3.1 版更新了很多年。为了获得最佳支持,请升级。

于 2018-09-18T16:17:28.140 回答