[問題] JAVA 連結 mySQL 錯誤

看板java作者 (Apple♪)時間12年前 (2011/07/19 15:57), 編輯推噓0(0013)
留言13則, 4人參與, 最新討論串1/1
小妹我最近在跑一個實驗,需要每 5 秒把每一筆資料存入資料庫, 但是實驗跑了一天左右,就會出現下列錯誤訊息: InsertDB Exception: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: No operations allowed after connection closed.Connection was implicitly closed by the driver. 資料庫的環境是:windows7, Apache 2.2.8, PHP 5.2.6, MySQL 5.0.51b JAVA程式環境是:windowsXP, jdk1.6.0_22, Eclipse 我的 java code 大概是這樣寫的: ============================================ jdbcmysql database = new jdbcmysql(); while(true){ database.insertTable(); } public void insertTable(){ try{ pst=con.prepareStatement(); pst.setInt(); pst.executeUpdate(); } catch(SQLexception e){ System.out.println(); } finally{ Close(); } } ============================================ 由上述錯誤訊息來看,我覺得應該是類似 timeout 之類的問題, 但是我去 google 了一下,發現都不是我所遇到的問題, 所以只好來這邊求助了,希望版上大大們可以指點一下,謝謝 m( _ _ )m -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.114.78.146

07/19 16:26, , 1F
code用java寫的為什麼裝php和apache阿?java是run在哪?
07/19 16:26, 1F
※ 編輯: sarah7 來自: 140.114.78.146 (07/19 16:42)

07/19 16:42, , 2F
感謝樓上大大提醒,我把環境加到內文了。
07/19 16:42, 2F

07/19 16:43, , 3F
所以java是當一般的AP run在windows?不是run在tomcat?
07/19 16:43, 3F

07/19 16:44, , 4F
是的, 是 run 在 windows
07/19 16:44, 4F

07/19 16:50, , 5F
如果connection不斷的用,不需要每次做完就close掉吧
07/19 16:50, 5F

07/19 17:19, , 6F
所以只要不 close 就可以了嗎? 我試試看好了~ 謝謝
07/19 17:19, 6F

07/19 17:34, , 7F
你也要確定你不會每次都會在create一個新的
07/19 17:34, 7F

07/19 17:48, , 8F
create 一個新的? 是說 close 完以後要 create 一個新的?
07/19 17:48, 8F

07/19 17:49, , 9F
如果你沒有close()的話,就不要create新的,重覆使用就好
07/19 17:49, 9F

07/19 17:51, , 10F
我依你的行為猜測,你每次insert一個value都會create
07/19 17:51, 10F

07/19 17:53, , 11F
一個新的connect,實際上這個只要做一次,重複使用即可
07/19 17:53, 11F

07/19 23:41, , 12F
mysql 會有 timeout, default 好像是半天還是6小時
07/19 23:41, 12F

07/19 23:45, , 13F
做個 retry 如何?
07/19 23:45, 13F
文章代碼(AID): #1E9JZcLd (java)