一个简单的创建用户语句失败?
像以前一样,制作Java-Oracle11g-JDBC (OJDBC)
的代码。 Java代码尝试在下面的语句中执行executeUpdate()
并发生错误。但Oracle 11g在没有任何问题的情况下执行它(通过它的GUI)。一个简单的创建用户语句失败?
声明 -
CREATE USER Person identified by 2012;
错误(即的printStackTrace的一部分) -
java.sql.SQLSyntaxErrorException: ORA-00911: invalid character
Oracle不喜欢在最后的分号。你不需要OJDBC查询中的分号,尽管它可以从Oracle GUI中使用。
这很奇怪。 Oracle 11g的GUI喜欢分号。一些java-sql语句成功使用了semis,那么为什么它会在上述情况下投诉? – 2012-08-14 08:57:27
@sweetdreams是的,像JDBC-> MySQL是分号罚款。但是Oracle的JDBC不允许多个查询,我想它完全认为';'是非法角色。我没有解释为什么会这样。 – 2012-08-14 09:01:08
@sweetdreams使用分号的原因是终止一行,以便编译器或引擎知道这是语句的结尾。 JDBC在字符串(“”)内不需要分号。问候 – user75ponic 2012-08-14 09:44:29
你尝试删除';'在结尾?是2012年的密码?如果是这样,请尝试用''来逃避。 – markus 2012-08-14 08:48:21