作者sarah7 (Apple♪)
看板java
标题[问题] JAVA 连结 mySQL 错误
时间Tue Jul 19 15:57:24 2011
小妹我最近在跑一个实验,需要每 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
1F:→ calais007:code用java写的为什麽装php和apache阿?java是run在哪? 07/19 16:26
※ 编辑: sarah7 来自: 140.114.78.146 (07/19 16:42)
2F:→ sarah7:感谢楼上大大提醒,我把环境加到内文了。 07/19 16:42
3F:→ calais007:所以java是当一般的AP run在windows?不是run在tomcat? 07/19 16:43
4F:→ sarah7:是的, 是 run 在 windows 07/19 16:44
5F:→ calais007:如果connection不断的用,不需要每次做完就close掉吧 07/19 16:50
6F:→ sarah7:所以只要不 close 就可以了吗? 我试试看好了~ 谢谢 07/19 17:19
7F:→ calais007:你也要确定你不会每次都会在create一个新的 07/19 17:34
8F:→ sarah7:create 一个新的? 是说 close 完以後要 create 一个新的? 07/19 17:48
9F:→ james732:如果你没有close()的话,就不要create新的,重覆使用就好 07/19 17:49
10F:→ calais007:我依你的行为猜测,你每次insert一个value都会create 07/19 17:51
11F:→ calais007:一个新的connect,实际上这个只要做一次,重复使用即可 07/19 17:53
12F:→ meconin:mysql 会有 timeout, default 好像是半天还是6小时 07/19 23:41
13F:→ meconin:做个 retry 如何? 07/19 23:45