首页 > 数据库 >oracle ORA-01461: 仅能绑定要插入 LONG 列的 LONG 值

oracle ORA-01461: 仅能绑定要插入 LONG 列的 LONG 值

时间:2023-01-24 14:32:46浏览次数:48  
标签:字节 4000 01461 LONG 插入 1333 oracle


解决:将数据库中的数据类型改为: CLOB(存字符串大文本) 或者 BLOB(存二进制文件)

博主问题场景:批量插入图片数据,图片太大,每张图片超过了4000字节,就会报错。将VARCHAR2修改为clob/blob类型还是报这个错。

博主解决方式:将批量插入修改为循环插入,即可解决

注意:如果数据量小,可以改为循环插入,如果数据量大,还是建议批量插入。批量插入具体如何解决,暂时没找到解决方案。

----------------------------------------------以下可以不看----------------------------------------------

问题分析:

1、插入到字符串长度大于4000字节。

2、插入到表中的记录的某个字段数据的实际长度大于2000个字节(如果是UTF-8,则是1333个字节);或者是插入的记录中有两个或两个以上长度大于2000字节的字符串。(本次我遇到的问题就是在数据库中存储的是中文,超过1333个字节插入数据库就失败了,所以应该在controller层入参校验做判断,判断大于1333个字节就拦截,然后返给前端)

3、数据库与客户端的JDBC 驱动不匹配。对于UTF-8或欧洲的某些字符集,oracle在存储时,对于一个字符需要2个或3个字节的存储空间,虽然表定义中为 varchar2(4000),但是其实该字段的data_length为其2倍或3倍长。这种情况下oracle会把data_length长度超过 4000的当做LONG型处理,你的表中有两个这样的字段,插入数据时相当于同时操作2个LONG字段。

标签:字节,4000,01461,LONG,插入,1333,oracle
From: https://blog.51cto.com/u_13002884/6022295

相关文章

  • Oracle宣布Java7生命周期终结
     Oracle于2015年4月停止在公共渠道发布Java7安全补丁和升级包,以敦促用户迁移至Java8或购买Java7的长期商业支持服务。后续可能有其它第三方机构为其提供公......
  • Oracle根据日期范围查询
    select*from表where时间字段>=to_date('2022-06-0800:00:00','yyyy-MM-ddHH24:MI:SS')AND时间字段<=to_date('2022-06-1100:00:00','yyyy-MM-ddHH24:MI:SS')......
  • 转 oracle 无法使用sys用户登录 connection as SYS should be as SYSDBA OR SYSOPER
    转自:  https://blog.csdn.net/u012004128/article/details/80781979 安装Oracle11g后,为了测试安装是否成功,通过cmd命令打开了sqlplus。发现,以system和scott身份登录......
  • Longhorn+K8S+KubeSphere云端数据管理,实战 Sentry PostgreSQL 数据卷增量快照/备份与
    云端实验环境配置VKEK8SClusterVultr托管集群https://vultr.com/3个worker节点,kubectlgetnodes。k8s-paas-71a68ebbc45bReady<none>12d......
  • centos7.8 安装单实例oracle数据库
    目录centos7.8安装单实例oracle数据库前置操作禁用TransparentHugePages安装rlwrap安装操作安装后配置修改数据存放路径(可选)其它操作oracle安装脚本执行数据库启动、......
  • 51.Oracle有哪些后台进程
    Oracle的进程主要有三种:后台进程、服务器进程、用户进程关系如图所示:1、USERPROCESS(用户进程)用户进程指的是Oracle客户端进程,是连接到 OracleDB的应用程序或工具。......
  • 查出oracle当前的被锁对象
    SELECTl.session_idsid, s.serial#, l.locked_mode锁模式, l.oracle_username登录用户, l.os_user_name登录机器用户名, s.machine机器名, s.terminal终端用......
  • oracle存储过程返回结果集SYS_REFCURSOR
    createorreplaceprocedureproc_query_rent(param_regionvarchar2,--定义区param_roomnumber,--定义室param_hallnumber,--定义厅param_rentMinnumber,--定义租金上......
  • Oracle 日期分页
    select*fromli.bookswherebook_publish_datebetween'1-2月-2005'and'1-2月-2010'; select*frombookswherebook_pricebetween50and60; select*frombo......
  • Oracle(一)
    文章目录​​1、Oracle简介​​​​1.1、Oracle公司发展历史​​​​1.2、Oracle几个重要的版本​​​​2、Oracle安装和配置​​​​2.1、安装Oracle数据库​​​​2.2、卸......