问题描述
我正在尝试使用以下代码更改新创建的JDBC连接的模式:
Statement stmt = conn.createStatement();
String sql = "ALTER SESSION SET CURRENT_SCHEMA=abcd;";
stmt.execute(sql);
此代码抛出java.sql.SQLSyntaxErrorException: ORA-00922: missing or invalid option
如果我尝试通过Oracle SQL Developer运行ALTER SESSION SET CURRENT_SCHEMA="abcd";
命令,它将成功更改架构。
如何通过Java更改架构?
解决方法
尝试最后删除分号。 "ALTER SESSION SET CURRENT_SCHEMA=abcd"
“ORA-00922: missing or invalid option” when trying to insert into table
另一对双引号(“”)中不能包含双引号。为此,您必须区分父引号和子引号。这可以通过使用单引号来实现,例如:
String sql = "yada 'yada' yada";
尝试一下:
String sql = "ALTER SESSION SET CURRENT_SCHEMA='abcd';";
注意:这可以反过来进行,用单引号作为父级,将双引号作为子级。