SQLException: ORA-00911: invalid character 解决方法

简介:

我的也是多了一个分号。

from:‍http://www.blogjava.net/jlin/articles/317591.html

控制台抛出这个异常:java.sql.SQLException: ORA-00911: invalid character
查了一下 说是oracle字符集设置的问题。我将抛异常的SQL语句在控制台输出如下:

select count(t.id) as onerowc,t.id as areatravelid ,b.id as airpotid from base_areatravel t inner join base_airpot b on b.areaid=t.id group by t.id ,b.id;

以上是完完整整的输出结果,然后我将语句复制到PL/SQL中执行是完全可以的,没有任何异常的。。

而我在程序中定义的sql如下:

String sql="select count(t.id) as onerowc,t.id as areatravelid ,b.id as airpotid from base_areatravel t"+
    " inner join base_airpot b on b.areaid=t.id group by t.id ,b.id;";

呵呵,花费了半个多小时终于找到原因::::

哈哈,,定义语句中sql后面多了一个分号。(“;”)晕菜。。这样的话在PL/SQL中是无所谓的,可是Java 的数据库驱动却不识别这样的语句了。汗,,,太大意了。记录下来防止再次犯错,呵呵。。。

相关文章
|
Oracle 关系型数据库 数据库
ORA-00932: inconsistent datatypes: expected - got NCLOB【ORA-00932: 数据类型不一致: 应为 -, 但却获得 NCLOB 】【解决办法】
ORA-00932: inconsistent datatypes: expected - got NCLOB【ORA-00932: 数据类型不一致: 应为 -, 但却获得 NCLOB 】【解决办法】
|
7月前
|
SQL Java 数据库连接
sql injection violation, syntax error: syntax error, error in :‘**‘expect IDENTIFIER, actual IDENTIF
sql injection violation, syntax error: syntax error, error in :‘**‘expect IDENTIFIER, actual IDENTIF
125 0
|
5月前
|
SQL Oracle 关系型数据库
【已解决】ORA-01722: invalid number
【已解决】ORA-01722: invalid number
50 0
|
12月前
|
数据库
ORA-06553: PLS-801: internal error 的解决办法
搜索了一下,原来是把32位的数据库恢复到64位的数据库了。找到解决方案如下
|
SQL Oracle 关系型数据库
ORA-01722:invalid number
Oracle表字段为`VARCHAR2`时,where条件出现`NUMBER`的匹配,`可能`会出现该错误。
223 0
ORA-01722:invalid number