try {
String strQry= "CREATE TABLE IF NOT EXISTS ERROR_DETAIL (\"SNO\"NUMBER(16,0),\"TABLE_NAME\" VARCHAR2(32 BYTE),\"ERROR_DESC\" VARCHAR2(255 BYTE),\"XCOORDINATE\" FLOAT(126),\"YCOORDINATE\" FLOAT(126),\"STATUS\" VARCHAR2(30 BYTE),\"COMMENT\" Varchar2(255 Byte),PRIMARY KEY (\"TABLE_NAME\", \"ERROR_DESC\") ENABLE);";
stmt = con.createStatement();
stmt.execute(strQry);
} catch (Exception e) {
e.printStackTrace();
}
此代码给出错误:
java.sql.SQLSyntaxErrorException: ORA-00922: missing or invalid option
但同样的查询在oracle中正常工作
答案 0 :(得分:0)
打印strQry
变量的内容,您会发现它无效:
此外,我认为您应该使用executeUpdate()
而不是execute()
。
答案 1 :(得分:0)
尝试使用下面的代码。
try {
String strQry= " CREATE TABLE IF NOT EXISTS ERROR_DETAIL (SNO NUMBER(16,0),TABLE_NAME VARCHAR2(32 BYTE),ERROR_DESC VARCHAR2(255 BYTE),XCOORDINATE FLOAT(126),YCOORDINATE FLOAT(126),STATUS VARCHAR2(30 BYTE),COMMENT Varchar2(255 Byte),PRIMARY KEY (TABLE_NAME, ERROR_DESC) ENABLE)";
stmt = con.createStatement();
stmt.execute(strQry);
} catch (Exception e) { e.printStackTrace(); }
更改只是移除;
内部" (即在给定的代码中它是ENABLE);&#34 ;;
我正在将其更改为ENABLE)";