嗨,我正在使用Oracle SQL Developer 3.1.06并连接到11g EE。每当我在左窗格中的任何过程中单击编辑,在右侧窗口中显示“创建或替换”..我无法看到任何过程代码。我能够在toad中看到相同登录过程。
您确定要登录的用户是对象的所有者吗?
您可以通过查看ALL_OBJECTS表来检查所有者:
SELECT * FROM ALL_OBJECTS WHERE OBJECT_NAME LIKE '%MYOBJECT%'
您登录的用户可能只有有限的查看权限,阻止您访问代码。如果找到所有者,则可以在连接窗口中浏览其他用户,并从相关用户中选择该过程。然后你应该能够看到一切。
我有一个名为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早了很多年。为获得最佳支持,请升级。