占位符过多引起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

相关推荐
mit6.8244 分钟前
[C# starter-kit] Domain Entities | `AuditableEntity`基类 | 跟踪变化 | 软删除
数据库·microsoft·c#
潇凝子潇13 分钟前
MySQL Redo Log 和 Undo Log 满了会有什么问题
数据库·mysql
周杰伦_Jay2 小时前
【Homebrew安装 MySQL 】macOS 用 Homebrew 安装 MySQL 完整教程
数据库·mysql·macos
悟能不能悟7 小时前
redis的红锁
数据库·redis·缓存
安当加密10 小时前
MySQL数据库透明加密(TDE)解决方案:基于国密SM4的合规与性能优化实践
数据库·mysql·性能优化
JH307310 小时前
第七篇:Buffer Pool 与 InnoDB 其他组件的协作
java·数据库·mysql·oracle
板凳坐着晒太阳10 小时前
ClickHouse 配置优化与问题解决
数据库·clickhouse
数据库生产实战10 小时前
解析Oracle 19C中并行INSERT SELECT的工作原理
数据库·oracle
AAA修煤气灶刘哥11 小时前
服务器指标多到“洪水泛滥”?试试InfluxDB?
数据库·后端·面试
阿沁QWQ12 小时前
MySQL服务器配置与管理
服务器·数据库·mysql