執行代碼后出現異常。oracle.soda.rdbms.impl.SODAUtils$1OracleSQLException 在 oracle.soda.rdbms.impl.SODAUtils.makeExceptionWithSQLText(SODAUtils.java:112) 在 oracle.soda.rdbms.impl.SODAUtils.makeExceptionWithSQLText(SODAUtils.java:75) 在oracle.soda.rdbms.impl.OracleDatabaseImpl.loadCollection(OracleDatabaseImpl.java:1338)在 oracle.soda.rdbms.impl.OracleDatabaseImpl.openCollection(OracleDatabaseImpl.java:410)在 oracle.soda.rdbms.impl.OracleDatabaseImpl.createCollection( OracleDatabaseImpl.java:348) 在 oracle.soda.rdbms.impl.OracleDatabaseImpl.createCollection(OracleDatabaseImpl.java:332) 在 oracle.soda.rdbms.impl.OracleDatabaseImpl.createCollection(OracleDatabaseImpl.java:321) 在 oracle.soda.rdbms .impl.OracleDatabaseImpl.access$100(OracleDatabaseImpl.java:62) 在 oracle.soda.rdbms.impl。OracleDatabaseImpl$OracleDatabaseAdministrationImpl.createCollection(OracleDatabaseImpl.java:1798) 在 com.cisco.salesconnect.lms.TestSoda.main(TestSoda.java:26) 引起:java.sql.SQLException:ORA-06550:第 2 行,第 3 列: PLS-00201:必須聲明標識符“DBMS_SODA_ADMIN.DESCRIBE_COLLECTION” ORA-06550:第 2 行,第 3 列:PL/SQL:在 oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:445) 處忽略的語句.driver.T4CTTIoer.processError(T4CTTIoer.java:396) 在 oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:879) 在 oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:450) 在 oracle。 jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:192) 在 oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:531) 在 oracle.jdbc.driver.T4CCallableStatement.doOall8(T4CCallableStatement.java:204) 在 oracle.jdbc.driver.T4CCallableStatement.executeForRows(T4CCallableStatement.java:1041) 在 oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1329) 在 oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement .java:3584) 在?
2 回答

慕哥9229398
TA貢獻1877條經驗 獲得超6個贊
您是否向創建集合的用戶授予了 SODA_APP 角色?例如:
將 SODA_APP 授予 userNameHere;
如果你不這樣做,你得到的錯誤就會發生。

一只名叫tom的貓
TA貢獻1906條經驗 獲得超3個贊
在調用db.admin().createCollection("MyFirstJSONCollection");引用時執行的代碼中的某處正在調用DBMS_SODA_ADMIN.DESCRIBE_COLLECTION數據庫中不存在的對象。您應該檢查并查看架構是否DBMS_SODA_ADMIN存在,以及該架構中是否有一個對象被調用DESCRIBE_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 數據庫組件的安裝未執行或未成功完成。如果這些東西確實存在,則表明您的代碼所連接的用戶沒有訪問此對象所需的權限。
添加回答
舉報
0/150
提交
取消