微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

创建用户配额条款缺失或无效选项

如何解决创建用户配额条款缺失或无效选项

在 DBeaver 或 sqplus 上执行这个语句就像一个魅力

CREATE USER flyway IDENTIFIED BY password 
DEFAULT TABLESPACE system  
TEMPORARY TABLESPACE system 
QUOTA 20M on system;

但是如果我像这样在javapreparedstatement中使用它

Class.forName("oracle.jdbc.driver.OracleDriver");

    //step2 create  the connection object
    Connection con = DriverManager.getConnection(
            "jdbc:oracle:thin:@localhost:1521:xe","myuser","mypassword")

    //step3 create the statement object
    Statement stmt = con.createStatement();

    //step4 execute query
    stmt.executeUpdate("CREATE USER flyway IDENTIFIED BY password "+
            "DEFAULT TABLESPACE system  "+
            "TEMPORARY TABLESPACE system "+
            "QUOTA 20M on system;"
                            );

    //step5 close the connection object
    con.close();

它说 java.sql.sqlSyntaxErrorException: ORA-00922: 选项丢失或无效

现在,如果我删除“系统上的 QUOTA 20M”,它工作正常。但是该配额是正确的语法,所以我不明白它为什么会失败。为什么不能从java设置配额?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。