控制台抛出这个异常: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 的数据库驱动却不识别这样的语句了。汗,太大意了。记录下来防止再次犯错,呵呵。