问题描述
在 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 (将#修改为@)