我的也是多了一個分号。
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 的資料庫驅動卻不識别這樣的語句了。汗,,,太大意了。記錄下來防止再次犯錯,呵呵。。。