最近在学习JDBC遇到一些ora错误,总结整理了一下。
1.ORA-00904: 标识符无效
建立列表时,列名不能加双引号(我用的是pl/sql),连接java程序时就会出现ORA-00904: 标识符无效的错误,去掉引号即可。
2.ORA-00984: 列在此处不允许
这就说明有些列需要加单引号而你没有加。看一个例子:
String sql = "INSERT INTO examstudent VALUES(" + student.getFlowId() + "," + student.getType() + ",'"
+ student.getIdCard() + "','" + student.getExamCard() + "','" + student.getStudentName() + "','"
+ student.getLocation() + "'," + student.getGrade() + ")";
这里的idcard,studentname…需要加单引号。
3.ORA-00907;缺失右括号(这里只指创建表时)
3.1创建表时表中字段有关键字
示例如下:
CREATE TBALE emp(
id number(18) not null,
desc varchar245) not null
)
解决方案如下:给对应的关键字加上双引号
CREATE TBALE emp(
id number(18) not null,
“desc” varchar2(45) not null
)
3.2 创建表时未对表中的字段设置长度
示例如下:
CREATE TBALE emp(
id number(18) not null,
“desc” varchar2 not null
)
解决方案如下:
CREATE TBALE emp(
id number(18) not null,
“desc” varchar2(45) not null
)
注:若有不对的地方,欢迎骚扰!