在DBeaver或sqplus上执行此语句效果很好
CREATE USER flyway IDENTIFIED BY password
DEFAULT TABLESPACE system
TEMPORARY TABLESPACE system
QUOTA 20M on system;但是如果我在java准备语句中使用它,如下所示
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:缺少或无效的选项
现在,如果我删除“系统上的配额2000万”,它工作得很好。但是这个配额是正确的语法,所以我不明白为什么它会失败。为什么a不能从java设置配额?
发布于 2021-05-21 22:58:57
Alex Poole是正确的,POSTGRES驱动程序可以很好地与配合使用;但Oracle驱动程序只是失败了,出现了没有人能理解的错误
https://stackoverflow.com/questions/67383491
复制相似问题