当前位置: 首页 > 知识库问答 >
问题:

PLS-00201:必须声明标识符“DBMS_SODA_ADMIN.DESCRIBE_COLLECTION”

禹昆
2023-03-14

我正在使用SODA for Java存储和检索Oracle12c DB中的文档。我正在效仿这个例子。

try(OracleConnection conn = (OracleConnection) DriverManager.getConnection(/*connection url*/)) {

        conn.setImplicitCachingEnabled(true);
        conn.setStatementCacheSize(50);

        OracleRDBMSClient cl = new OracleRDBMSClient();

        OracleDatabase db = cl.getDatabase(conn);

        db.admin().createCollection("MyFirstJSONCollection");

    } catch (SCExceptions | SQLException | OracleException e) {
        e.printStackTrace();
    }
}

这一例外背后的原因将是什么?

共有1个答案

厍晋鹏
2023-03-14

在调用db.admin().createCollection(“MyFirstJsonCollection”)时执行的代码的某个地方;引用了一个名为dbms_soda_admin.descripe_collection的对象,该对象在数据库中不存在。您应该检查并查看模式dbms_soda_admin是否存在,以及该模式中是否存在名为descripe_collection的对象。这样做的一种方法是执行一个查询,如

SELECT *
  FROM DBA_USERS u
  WHERE u.USERNAME = 'DBMS_SODA_ADMIN'

SELECT *
  FROM DBA_OBJECTS o
  WHERE o.OWNER = 'DBMS_SODA_ADMIN' AND
        o.OBJECT_NAME = 'DESCRIBE_COLLECTION'

如果缺少任何一个,则表明Soda数据库组件的安装没有执行,或者没有成功完成。如果这些东西确实存在,则表明您的代码连接的用户没有访问此对象所需的权限。

 类似资料:
  • 所以我一直有这个错误,我不知道发生了什么。我在谷歌上搜索了一下,读了一些关于这个错误的问题,但什么都没用。我只想运行它,这样我就可以完成我的项目。 错误:开始低库存;结束;*第1行错误:ORA-06550:第1行,第9列:PLS-00201:标识符“LOWINVENTORY”必须声明ORA-06550:第1行,第7列:PL/SQL:忽略语句 编辑: 表创建:

  • 为什么会出现这个错误?如果变量声明与列的类型相同,则不应该这样做。nursing_unit_id是varchar2(10)。当ID是NUMBER时,它对我来说是这样工作的; 我得到的错误:错误报告-ORA-06550:第13行,第13列:PLS-00201:必须声明标识符“ISS”

  • 作为标题,我正在Oracle上编写一些存储过程,首先我检查了版本 有结果 ... 并尝试NVL2与常规SQL查询 结果似乎是对的 ... 所以我确认11g确实支持NLV2功能,我现在可以开始编写我的存储过程,如下所示: Oracle告诉我它编译有错误,即 PLS-00201:必须声明标识符“NVL2” 为什么函数在常规查询中工作,但在存储过程中变得未声明?

  • 安装在CentOS 8上。 已尝试两者 Oracle Database Express Edition (XE) 企业版 从这里 https://www.oracle.com/database/technologies/oracle-database-software-downloads.html ords.warhttps://www.oracle.com/database/technologi

  • 这是我成功的存储过程 这是首先生成表的调用 最初,我试图用一些预定义的参数调用存储过程。 这导致错误“PLS-00201:标识符'B100'必须声明” 我是PL/SQL的新手,很难解决这个问题。我尝试添加DECLARE语句 这仍然会导致错误“PLS-00201:必须声明标识符‘B100’”,但它表示“PL/SQL:忽略语句”,然后表示“PLS-00201:必须声明标识符‘Steve’” 进一步挖掘