Cause: java.sql.SQLSyntaxErrorException: ORA-01745::无效的主机/绑定变量名

文章讲述了两种常见的SQL错误情况:一是插入语句中变量间缺少逗号导致的‘无效的主机绑定变量名’错误;二是由于SQL语句过长,特别是在Oracle中使用IN子句超过1000条记录限制时引发的问题。为解决这些问题,建议检查语句中的逗号并采用分批插入数据的方法,每次插入不超过1000条记录。
摘要由CSDN通过智能技术生成

报错原因

原因一:sql缺少逗号","

如果插入语句,插入的变量之间缺少逗号,会有“无效的主机绑定变量名”错误。
简而言之就是语句缺少逗号",",自查一下。

原因二:sql语句过长

解决方法:减少一次批量插入的数据量,即采用分批入库

  private final int SPLIT_SIZE = 1000;//分割数量
  Lists.partition(balanceBackupsPOS, SPLIT_SIZE).forEach(balanceBackup -> {
            //添加
            insert(balanceBackup);

        });

注意⚠️
oracle查询的时候使用in 最多可in 1000条数据。

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值