今天在写一个java类,用jdbc批量更新某表一个字段,该字段需要查询其他多张表进行计算得出,中间用了许多select查询,最后拼装成update语句用jdbc操作,当导入到200多条的时候,报错了,提示数据库连接已经用完(我每次调用的时候连接都记得关闭了,程序逻辑没有问题),具体信息如下:
15:50:12 [ERROR] com.zyn.hibernate.test.DataSourceHelper.getConnectionByJdbc(76)
使用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.
For Windows-based platforms, see Microsoft Knowledge Base Article 196271 (Q196271).
-- listing properties --
jdbc.url=jdbc:mysql://192.168.1.211:3306/chart...
jdbc.username=root
jdbc.password=123
jdbc.driverClassName=com.mysql.jdbc.Driver
chinahrt.url=jdbc:mysql://192.168.1.211:3306/china...
15:50:12 [ERROR] com.zyn.hibernate.test.JdbcManager.getObjectListBySQL(391)
无法获得数据库连接!
java.lang.RuntimeException: 无法获得数据库连接!
at com.zyn.hibernate.test.DataSourceHelperH
网上搜索后得知,可以调大数据库的最大连接数来解决该问题,但问题是我没有数据库所在linux服务器的账号和密码,用jdbc操作,也不可能使用hibernate的连接池来解决该问题,自己再写个连接池貌似也划不来,只能采用比较耗时的操作,在进行没次update操作的代码中间加了个
try{
Thread.sleep(500);
}catch(Exception e){
e.printStackTrace();
}
来解决问题。幸好数据量不是太多,这点时间还忍受的了。
分享到:
相关推荐
在Java开发中,将Excel表格数据导入MySQL数据库是一项常见的任务,尤其在数据处理、数据分析以及系统集成等场景中。这个项目提供了一套完整的源码,可以直接在Eclipse环境中运行,帮助开发者快速实现这一功能。下面...
Java大批量导入MySQL是一种高效的数据导入方式,使用MYSQL的LOAD DATA LOCAL INFILE语句可以快速地从一个文本文件中读取行,并装入一个表中。这种方式广泛应用于数据交换和导入,尤其是在数据量非常大的情况下。 ...
本文将深入探讨如何高效地进行数据库大批量数据导入Excel的过程。 首先,理解批量导入的概念。批量导入是指一次性处理大量数据,而不是逐条插入,这样可以显著减少处理时间,提高系统性能。对于处理几十万条数据的...
6. **数据库的使用**:当数据量达到百万级别时,使用数据库(如MySQL、Oracle、SQL Server或NoSQL数据库)存储数据更为合适。数据库可以提供高效的查询和数据管理功能,同时支持批量导入导出。 7. **数据预处理**:...
在实际应用中,快速导入大量数据可能还需要考虑性能优化,比如使用事务处理大批量插入,或者调整MySQL的配置参数以提高导入速度。此外,对于大型企业,可能还需要考虑数据导入对在线服务的影响,选择在低峰时段进行...
这种方式比使用INSERT语句快得多,适合大批量数据导入。 4. **BULK INSERT**(SQL Server):在Microsoft SQL Server中,BULK INSERT命令用于快速导入大量数据,支持从文件系统或网络位置读取数据。 5. **COPY命令...
对于大数据量的插入,考虑到事务的使用,可以将所有插入操作包裹在一个事务中,确保数据的一致性。如果在事务中的某一步骤失败,可以回滚事务,防止部分数据被写入数据库。以下是一个基于事务的示例: ```...
测试把txt文件导入至mysql数据库中: table: txt文件:D:/data.txt (txt文件下载) ... 您可能感兴趣的文章:Java利用MYSQL LOAD DATA LOCAL INFILE实现大批量导入数据到MySQLMySQL中由load data语
综上所述,"jdbctemplatedemo.zip"项目演示了如何使用Spring Boot的JdbcTemplate来高效地处理大批量数据的导出和导入,这是在现代Web应用程序中常见的需求,尤其是在数据分析、报表生成或数据迁移场景下。...
方式导入大批量的数据 创建测试表 实现自定义的inputStream 通过load方式导入 借助中间传输层实现一个小demo netty实现im案例 客户端服务端启动类 定义通信协议 实现序列化和编解码 拆包粘包的实现 互聊 群聊 心跳 ...
它的运行效率高,适用于大批量数据处理。 2. 设计界面直观易用:Kettle提供了一套图形化设计界面,用户可以通过拖拽的方式快速构建ETL流程,无需编写复杂的脚本代码。 3. 强大的使用群体和广泛的应用:由于Kettle...
描述提到"用数据库语言实现的往数据库中添加数据,大批量",这表明内容可能涉及到批量插入数据到数据库的技巧和方法。 C语言是一种底层编程语言,通常用于系统编程和嵌入式系统,而SQL(Structured Query Language...
环境及工具: 环境: win11 工具: idea 2017 jdk: 1.8 数据库: mysql5.5 maven : 3.2.1 ...项目:maven 导入 ...数据库前端工具:mysql-front (navicat 也可以)主要是这些跟PHPstudy 2018 ...hibernate更新大批量
Spring Batch是一个用于开发大批量数据处理应用的强大框架。它提供了丰富的功能集来帮助开发者构建高效、可靠的批量处理应用,尤其适用于需要处理大量数据的场景。Spring Batch的设计目标是在提供强大功能的同时保持...
- **批量处理**:支持大批量数据的导出,例如阿里巴巴DBA使用SQLuldr2从生产系统中导出海量数据供数据仓库分析。 - **跨字符集数据交换**:适用于不同字符集之间的数据交换,如US7ASCII与ZHS16GBK之间的中文信息...
2. **批量处理**:对于大批量订单,软件支持批量导入订单信息,一次性为多个包裹分配快递单号,提高处理速度。 3. **订单管理**:软件具备订单跟踪功能,可以实时查看每个包裹的状态,包括揽收、运输、派送等环节,...
5. **批量操作**:对于大批量数据,`csvtosql` 可以处理大文件,通过分块读取和处理数据,避免内存资源耗尽。 6. **命令行界面和API**:工具提供了命令行接口(CLI),允许用户通过脚本自动化转换过程,同时也提供...
- **批量数据操作**:使用SQL*Loader等工具进行大批量数据导入导出。 #### 第十四章 约束 - **约束类型**:PRIMARY KEY、FOREIGN KEY、UNIQUE等约束类型及其作用。 - **约束管理**:创建、启用、禁用、删除约束的...
117_hbase大批量操作7 [! ^" m3 B$ C. {1 S$ h. X 118_hbase架构-表和区域切割( p4 _0 k) J9 A/ ~; [ F 119_hbase架构-区域的合并 120_hbase get-scan-范围指定 121_扫描缓存-超时-切片' O; n; m' P; a6 T/ H$ S! ^ ...