“PL/SQL:ORA-02289:序列不存在”在 django 中进行加载数据。数据库是远程oracle 12c

Posted

技术标签:

【中文标题】“PL/SQL:ORA-02289:序列不存在”在 django 中进行加载数据。数据库是远程oracle 12c【英文标题】:"PL/SQL: ORA-02289: sequence does not exist" in django while doing loaddata. database is remote oracle 12c 【发布时间】:2020-07-23 23:33:12 【问题描述】:

在执行 loaddata 夹具时,出现错误 PL/SQL: ORA-02289: sequence does not exist。 Django 版本是 1.11.12。

django.db.utils.DatabaseError:ORA-06550:第 10 行,第 17 列: PL/SQL: ORA-02289: 序列不存在 ORA-06550:第 10 行,第 9 列: PL/SQL:忽略 SQL 语句

在 python shell 中,我可以创建对象,但通过固定装置,我不能。请帮忙。

【问题讨论】:

【参考方案1】:

我不懂 Python,但 Oracle 不会说谎。如果它说这个序列不存在,那么

真的不存在

它存在,但是您以错误的方式引用它。非 Oracle 人员在引用 Oracle 对象时倾向于使用双引号。看演示:

SQL> create sequence seq;

Sequence created.

SQL> select seq.nextval from dual;

   NEXTVAL
----------
         1

SQL> select "seq".nextval from dual;
select "seq".nextval from dual
       *
ERROR at line 1:
ORA-02289: sequence does not exist

它存在,但它属于其他人(即不是您当前连接的用户),这意味着所有者必须在其上grant select,并且您必须使用所有者名称来引用它,例如select scott.seq.nextval from dual(斯科特是所有者)


消息说错误发生在

第 10 行,第 17 列

所以 - 检查你使用的代码中的位置,看看哪个选项(我提到的那些)有帮助。

【讨论】:

以上是关于“PL/SQL:ORA-02289:序列不存在”在 django 中进行加载数据。数据库是远程oracle 12c的主要内容,如果未能解决你的问题,请参考以下文章

分配的变量引用在哪里,在堆栈中还是在堆中?

NOIP 2015 & SDOI 2016 Round1 & CTSC 2016 & SDOI2016 Round2游记

秋的潇洒在啥?在啥在啥?

上传的数据在云端的怎么查看,保存在啥位置?

在 React 应用程序中在哪里转换数据 - 在 Express 中还是在前端使用 React?

存储在 plist 中的数据在模拟器中有效,但在设备中无效