2012-06-14 36 views
0

我隨機得到這個錯誤的Java數據庫錯誤:值java.sql.SQLException:IO異常:錯誤的數據包類型

java.sql.SQLException: Io exception: Bad packet type 

我做了一些研究,有人提出了一個解決方案:

要糾正此我們必須確保只有一個執行線程一次通過相同的連接使用JDBC驅動程序或升級到更高版本的驅動程序。

任何人都可以指導我如何確保一次只有一個執行線程正在使用JDBC驅動程序?

+0

什麼類型的應用程序是什麼?它是一個Web應用程序嗎?什麼是你的應用程序的線程模型?你如何管理你的連接?你是否通過ORM直接使用JDBC,通過類似Spring的東西? –

+0

是的,它是一個Web應用程序。我們直接使用JDBC。 – Ianthe

+0

Web應用程序,就像在使用原始servlet一樣?那麼你如何獲得連接?在你的servlet的'doGet()'方法中?當servlet被實例化時(例如在構造函數中)? –

回答

0

我們通過關閉preparedStatement的連接來解決問題,而不是數據庫連接本身。

用途:用於

ps.getConnection().close(); 

代替:

conn.close(); 
+0

該解決方案沒有意義,因爲這應該是完全相同的連接。 –