2015-04-02 59 views
1

嗨,感谢您提前提供任何帮助。非常大的select语句中的JDBC错误“丢失连接”

我想在JDBC上(在AWS和EC2实例上托管的Java程序中)在AWS MYSQL RDS上运行非常大的查询。查询返回〜130mil行,并且我成功地使用返回〜20mil行的相同程序来运行查询,并将它们写出到文本文件中。

约15分钟到查询我得到一个指向回这部分代码丢失连接错误:

 ResultSet rs = statement.executeQuery(query); 

是否有关于MYSQL或JDBC可能被用尽定时此连接的设置,或者有什么我可能会失踪?

回答

0

你是否在像tomcat或jboss这样的容器内部运行它,还是独立代码直接处理jdbc? 如果容器有连接池,则有超时配置。另一方面:提取大量数据有什么意义?

+0

它是直接处理JDBC的独立代码。我需要提取这么多的数据,因为它是一个需要考虑整个宇宙的记录链接程序(本表)。 – mdonigian 2015-04-02 21:14:16

+0

http://docs.oracle.com/javase/7/docs/api/java/sql/Statement.html#setQueryTimeout (int)。考虑到你的jdbc驱动程序的实现可以有一个默认的不是无止境的。如果有连接超时设置,请检查数据库。它是哪个数据库供应商? – 2015-04-03 15:47:30