"PL/SQL: ORA-02289: sequence does not exist"在 django 中执行加载数据。数据库是远程 Oracle 12C


执行loaddata fixture时,得到错误PL/SQL:ORA-02289:序列不存在。Django版本是1.11.12。

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

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

我不懂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(Scott是所有者(


消息称发生错误

第10行第17列

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

最新更新