天天看點

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