看板 java 關於我們 聯絡資訊
小妹我最近在跑一個實驗,需要每 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
calais007:code用java寫的為什麼裝php和apache阿?java是run在哪? 07/19 16:26
※ 編輯: sarah7 來自: 140.114.78.146 (07/19 16:42)
sarah7:感謝樓上大大提醒,我把環境加到內文了。 07/19 16:42
calais007:所以java是當一般的AP run在windows?不是run在tomcat? 07/19 16:43
sarah7:是的, 是 run 在 windows 07/19 16:44
calais007:如果connection不斷的用,不需要每次做完就close掉吧 07/19 16:50
sarah7:所以只要不 close 就可以了嗎? 我試試看好了~ 謝謝 07/19 17:19
calais007:你也要確定你不會每次都會在create一個新的 07/19 17:34
sarah7:create 一個新的? 是說 close 完以後要 create 一個新的? 07/19 17:48
james732:如果你沒有close()的話,就不要create新的,重覆使用就好 07/19 17:49
calais007:我依你的行為猜測,你每次insert一個value都會create 07/19 17:51
calais007:一個新的connect,實際上這個只要做一次,重複使用即可 07/19 17:53
meconin:mysql 會有 timeout, default 好像是半天還是6小時 07/19 23:41
meconin:做個 retry 如何? 07/19 23:45