`
lusx
  • 浏览: 24625 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

JDBC查询大量数据异常问题

 
阅读更多
当连续对数据库进行查询操作时,出现如下异常:
The driver was unable to create a connection due to an inability to establish the client portion of a socket.

This is usually caused by a limit on the number of sockets imposed by the operating system. This limit is usually configurable.

For Unix-based platforms, see the manual page for the 'ulimit' command. Kernel or system reconfiguration may also be required.
每次查询完执行:
if(rs!=null){
try {
rs.close();
} catch (Exception e) {
// TODO: handle exception
}
}
//关闭资源[先开后闭];
if(ps!=null){
try {
ps.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
ps=null;//使用垃圾回收.
}
if(ct!=null){
try {
ct.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
ct=null;
}
我改成每次查询完不关闭connection,但是又报java虚拟机内存不足的异常。
解决办法:
在数据库工具类中设置一个int变量,每次执行数据操作时 ++,当大于1000时执行关闭操作。问题解决。
不知道还有没有更好的方法。
分享到:
评论

相关推荐

    多线程以JDBC的方式返回海量数据

    通过JDBC,我们可以执行SQL语句,查询、更新和管理数据库中的数据。然而,当数据量非常大时,一次性加载所有数据可能会导致内存溢出,降低应用程序性能。 为了解决这个问题,我们可以采用多线程技术。多线程允许...

    JDBC数据同步

    - **性能优化**:大量数据同步时,批量操作比单条插入更快,避免频繁的数据库交互。 - **并发控制**:如果多线程环境下同步,需考虑并发控制,防止数据冲突。 ### 文件`transData`的关联 `transData`可能是一个...

    jdbc-批量插入数据

    本文将深入探讨如何使用JDBC进行批量插入数据,这在处理大量数据时能显著提高性能。 批量插入数据是数据库操作中常见的一种优化策略,特别是在数据分析、数据迁移或大数据处理等场景。传统的单条插入方式可能会导致...

    异常处理和JDBC

    Java Database Connectivity(JDBC)是Java编程语言中用于与关系型数据库进行交互的一组标准接口和...学习并掌握这些知识点对于任何Java开发者来说都是至关重要的,特别是那些需要处理大量数据和复杂数据库操作的项目。

    jdbc jdbc jdbc

    6. **批处理(Batch Processing)**:对于需要执行大量相似SQL语句的情况,JDBC提供批处理功能,允许一次发送多个SQL语句,从而提高效率。 7. **JDBC URL**:每个数据库驱动都有一个特定的JDBC URL格式,用于标识要...

    jdbc 查询小界面

    标题中的“jdbc 查询小界面”指的是一个基于Java Swing开发的简单图形用户界面...这样一个简单的 JDBC 查询小界面可以帮助非开发人员或者初级开发者轻松地执行SQL查询,而无需编写大量代码,提升了数据库操作的便利性。

    Access_JDBC30.jar

    在项目中引入这个驱动,可以更好地应对各种复杂场景,无论是批量处理大量数据,还是进行复杂查询,都能得到更好的支持。 然而,尽管"Access_JDBC30.jar"提供了诸多改进,但使用时也需要注意以下几点: 1. **兼容性...

    JDBC数据访问技术.rar

    - 批量处理:当有大量数据操作时,使用批处理可以大大提高效率。 - 连接池:通过连接池管理数据库连接,避免频繁创建和关闭连接,提高系统性能。 总结来说,JDBC是Java开发中与数据库交互的核心技术,它提供了丰富...

    jdbc 处理clob类型字段

    在Java编程中,JDBC(Java Database Connectivity...在处理大量文本数据时,注意优化数据读写策略,以避免内存溢出等问题。以上所述的增删改查方法是基础操作,实际开发中还应考虑事务管理、异常处理和性能优化等因素。

    Cassandra JDBC Driver

    7. **异常处理**:当发生错误时,Cassandra JDBC Driver会抛出适当的JDBC异常,帮助开发者快速定位并解决问题。 8. **元数据支持**:驱动程序提供了获取表、列族(表的别名)、列等元数据的方法,方便开发者了解...

    dbf-jdbc-wisecoders,JAVA 读写DBF文件工具包

    7. **错误处理和异常处理**:工具包应提供良好的错误报告机制,当出现如文件损坏、格式不正确等问题时,能够抛出相应的异常,帮助开发者定位和解决问题。 8. **API文档和示例**:为了方便用户使用,`dbf-jdbc-...

    使用JDBC从数据库中查询数据的方法

    在大数据场景下,可能需要处理大量数据,这时可以使用批处理或分页查询,避免一次性加载所有结果导致内存溢出。JDBC还提供了事务管理功能,保证数据库操作的原子性和一致性。 总的来说,JDBC是Java开发者与数据库...

    spring-jdbc jar包.rar

    1. **JdbcTemplate**:这是Spring JDBC的核心类,它通过模板方法模式将常见的JDBC操作进行了封装,如执行SQL查询、更新、调用存储过程等。开发者只需要关注SQL语句和参数,而无需处理连接创建、关闭、异常处理等繁琐...

    jdbc连接使用jar包 Access_JDBC40.jar

    使用`Access_JDBC40.jar`时,需要注意的是,尽管它可以解决连接错误,但Access数据库在处理大量数据或并发访问时性能可能不佳。对于大型企业级应用,推荐使用更强大的数据库系统,如MySQL、PostgreSQL或Oracle。 ...

    JAVA使用线程池查询大批量数据

    本文将深入探讨如何在Java中使用线程池来查询大量数据,以及这样做的好处和实现方法。 首先,理解线程池的概念至关重要。线程池是一种多线程处理形式,预先创建了若干个线程,当有任务需要执行时,会从线程池中取出...

    使用 JDBC 将 XML 中的数据插入到数据库

    在IT行业中,数据库管理和数据处理是至关重要的环节。XML(eXtensible Markup Language)是一种广泛应用的数据交换格式,尤其在Web服务和数据存储中...在处理大量数据时,可能还需要批量插入或使用流式处理来提高效率。

    spring_JDBC整合包

    在处理大量数据时,还可以通过分页查询来优化性能。在分布式环境下,Spring JDBC配合Spring的事务管理功能,可以实现跨数据库操作的事务一致性。 这个"spring_JDBC基本包"可能包含的文件有Spring框架的基础库,如...

    java实现jdbc批量插入数据

    批量插入数据是一种提高数据库操作性能的重要技术,尤其在处理大量数据时。本篇文章将详细介绍如何使用Java实现JDBC批量插入数据,并比较三种常见的JDBC批量插入编程方法。 **方法一:使用PreparedStatement加批量...

    JDBC简单写法JDBC简单写法JDBC简单写法

    2. **大数据量处理**:在JDBC中,对于大量数据的插入,我们可以使用批量处理(batch processing),如`addBatch()`和`executeBatch()`方法,这样可以显著提升性能,减少与数据库的交互次数。 3. **事务处理**:JDBC...

Global site tag (gtag.js) - Google Analytics