占位符过多引起Caused by: oracle.jdbc.OracleDatabaseException: ORA-01745: 无效的主机/绑定变量名

java 复制代码
BigDecimal amount = testMapper.getSumAmount(CollectionUtil.split(urids, 999))

上面的sql之所以切割成999是因为Oracle in语句中支持的最大集合是999,超过会报ORA-01795。

另一种情况没考虑,也就是urids超过65536个时会报ORA-01745,因为Oracle支持的占位符上限是65536

参考文档 https://www.jianshu.com/p/e1e71192e232

参考文档 https://dzone.com/articles/too-many-preparedstatement-placeholders-in-oracle

相关推荐
薛晓刚1 小时前
哪个领域数据库最难替换?
数据库
芷栀夏1 小时前
基于Anything LLM的本地知识库系统远程访问实现路径
数据库·人工智能
软件2051 小时前
【redis使用场景——缓存——数据淘汰策略】
数据库·redis·缓存
ChinaRainbowSea2 小时前
9-2 MySQL 分析查询语句:EXPLAIN(详细说明)
java·数据库·后端·sql·mysql
时序数据说2 小时前
Java类加载机制及关于时序数据库IoTDB排查
java·大数据·数据库·物联网·时序数据库·iotdb
deeper_wind2 小时前
MySQL数据库基础(小白的“升级打怪”成长之路)
linux·数据库·mysql
加勒比海涛2 小时前
Spring Cloud Gateway 实战:从网关搭建到过滤器与跨域解决方案
数据库·redis·缓存
belldeep2 小时前
java:如何用 JDBC 连接 TDSQL 数据库
java·数据库·jdbc·tdsql
格调UI成品4 小时前
预警系统安全体系构建:数据加密、权限分级与误报过滤方案
大数据·运维·网络·数据库·安全·预警
心平愈三千疾8 小时前
通俗理解JVM细节-面试篇
java·jvm·数据库·面试