“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游记