mysql大批量操作报错Server connection failure during transaction

johnny1983 2007-07-16 08:21:55
从数据库大量文本中把单词split出来然后插入数据库,大概执行了一定数量的文本后就会报错,例如我有500个文档,执行到70个时报错,然后我再从第70个文档开始重新执行程序,执行到第130个文档时报错。个人觉得是不是mysql有什么缓存一类的东西,满了就会报错。错误信息如下:

com.mysql.jdbc.exceptions.MySQLNonTransientConnectionException: Server connection failure during transaction. Due to underlying exception: 'java.net.ConnectException: Connection refused: connect'.

** BEGIN NESTED EXCEPTION **

java.net.ConnectException
MESSAGE: Connection refused: connect

STACKTRACE:

java.net.ConnectException: Connection refused: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(Unknown Source)
at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.<init>(Unknown Source)
at java.net.Socket.<init>(Unknown Source)
at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:168)
at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:262)
at com.mysql.jdbc.Connection.createNewIO(Connection.java:2075)
at com.mysql.jdbc.Connection.<init>(Connection.java:716)
at com.mysql.jdbc.Connection.getInstance(Connection.java:291)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:266)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at sqlConn.MySqlConn(sqlConn.java:16)
at vocab.ifHasRecord(vocab.java:63)
at vocab.getHash(vocab.java:36)
at tt.main(tt.java:10)


** END NESTED EXCEPTION **


Attempted reconnect 3 times. Giving up.
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:981)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:957)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:927)
at com.mysql.jdbc.Connection.createNewIO(Connection.java:2150)
at com.mysql.jdbc.Connection.<init>(Connection.java:716)
at com.mysql.jdbc.Connection.getInstance(Connection.java:291)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:266)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at sqlConn.MySqlConn(sqlConn.java:16)
at vocab.ifHasRecord(vocab.java:63)
at vocab.getHash(vocab.java:36)
at tt.main(tt.java:10)
Exception in thread "main" java.lang.NullPointerException
at vocab.ifHasRecord(vocab.java:65)
at vocab.getHash(vocab.java:36)
at tt.main(tt.java:10)
...全文
727 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
johnny1983 2007-07-17
  • 打赏
  • 举报
回复
up
懒得去死 2007-07-16
  • 打赏
  • 举报
回复
没有释放掉不用的内存所致。
johnny1983 2007-07-16
  • 打赏
  • 举报
回复
那我在程序里怎么控制呢?觉得没可能啊,不就是一个查询嘛,只是运算量大一点而已。。。
whalefish2001 2007-07-16
  • 打赏
  • 举报
回复
改变一下机制,楼主的机制不好。(70个报错?应该700个都不会报错的)

free应该可以。建议楼主查一下帮助手册。
johnny1983 2007-07-16
  • 打赏
  • 举报
回复
请问如何释放内存

56,679

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧