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

前言

最近写个 批量merge into超长语句,运行后发现报 ORA-01745::无效的主机/绑定变量名 错误。
度娘一下高热文章,被坑了一把,后苦思冥想才回忆起oracle还有这一茬。

报错原因

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

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

解决方法: 自查是否缺失逗号

原因二:sql语句过长

但是,自查过后发现sql没缺逗号,此时,内心是掉发的。


image.png

自我怀疑一段时间后,拔掉烦恼丝后想起来,插入语句超长也会报此错误,瞬间拨云见日。


image.png

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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容