天天看點

JDBC連接配接資料庫時常見錯誤

原文位址:https://blog.csdn.net/dingd1234/article/details/80703333 

(1)java.sql.SQLException: 無效的列索引

java.sql.SQLException: 無效的列索引

“無效的列索引”其實是個低級的錯誤,原因無非幾個:

1、sql串的?号數目和提供的變量數目不一緻:

例如:jdbcTemplate.update(sql, new Object[] {newState,oldState});

如果sql裡面有1個?号,Object[]送了2個,就會報錯。

2、sql串裡的?号書寫不正确

英文?和中文?有時難以區分。

3、sql串的?号用''括了起來。

例如:sql="UPDATE abc SET abc.name='?' WHERE abc.id='?'";

把''去掉就可以了。

4,遇到這種情況select*from user where   info   like   %?%;  

雖然這是sql的寫法,但是在jdbc 中需要改成 select*from user where   info   like   ?;

如ps.setString(“%”+value+“%”);

(2)ORA-00933: SQL 指令未正确結束 / ORA-00933: SQL command not properly ended

對于這個錯誤:

1.首先仔細檢查sql語句是否存在文法錯誤。

(如果确認沒有錯誤,可以拿到sql development中去用sql工具試試)

2.檢查使用連接配接資料庫的方法。

executeQuery、execute、executeUpdate是否存在使用錯誤,或者換個試試

3.sql語句中的‘;‘去掉。

(3)

JDBC連接配接資料庫時常見錯誤
JDBC連接配接資料庫時常見錯誤

原因是資料庫驅動版本與資料庫版本不比對