DBMS LOB.SUBSTR引发ORA-00904:无效的标识符错误 [英] DBMS LOB.SUBSTR Throwing ORA-00904: Invalid Identifier Error
问题描述
我们的一位客户正在oracle sql developer中运行脚本,以升级其数据库表结构procudere&触发器等.但是在运行脚本时,他在一个过程中得到了ORA-00904: Invalid Identifier Error for DBMS_LOB.SUBSTR()
和DBMS_LOB.GETLENGTH()
.
One of our cutomer is running the scripts in oracle sql developer to upgrade his database table structure, procudere & triggers etc. But while running the script, he is getting ORA-00904: Invalid Identifier Error for DBMS_LOB.SUBSTR()
and DBMS_LOB.GETLENGTH()
in one procedure.
有人可以告诉我为什么会这样吗?
Can somebody tell why is happening so?
正在使用带有Oracle 11g的Oracle Sql开发人员版本3.1.07 Build MAIN-07.42.
There are using Oracle Sql developer Version 3.1.07 Build MAIN-07.42 with Oracle 11g.
推荐答案
我认为3种可能的原因:
I imagine 3 possible reasons:
- 用户缺乏对sys.dbms_lob的执行特权(尽管 默认情况下,授予PUBLIC特权)
- 数据库中没有sys.dbms_lob的同义词dbms_lob(尽管应该存在这样的公共同义词)
- 客户使用的架构包含其他同名DBMS_LOB的软件包
- the user lacks execute privilege on sys.dbms_lob (although the privilege is granted to PUBLIC by default)
- there is no synonym dbms_lob for sys.dbms_lob in the database (although such public synonym should exist)
- the schema, on which the customer works, contains some other package with the same name DBMS_LOB
这篇关于DBMS LOB.SUBSTR引发ORA-00904:无效的标识符错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!