更新数据库报错:SQL Error: 1461, SQLState: 72000 ORA-01461: 仅能绑定要插入 LONG 列的 LONG 值

原因:某一个字段本为varchar2(1024),但是实际要插入的值超过varchar2允许的最大长度4000时,oracle自动将该字段值转化为Long类型,然后提示插入操作失败。

解决办法:

1、是不是真的要插入超过定义长度的值?否则对长度做判断,截取等。

2、若是,则将字段采用clob、blob,或者使用文件代替,字段保存文件地址即可。

时间: 2024-10-14 00:49:06

更新数据库报错:SQL Error: 1461, SQLState: 72000 ORA-01461: 仅能绑定要插入 LONG 列的 LONG 值的相关文章

关于blob转到目标库报ORA-01461: 仅能绑定要插入 LONG 列的 LONG 值错误解决方案

在数据抽取时,开发需要clob类型的数据,但是目标库类型是blob类型的,于是抽取的时候报错: ORA-01461: 仅能绑定要插入 LONG 列的 LONG 值错误 可能有以下几种原因: 可能有以下几种原因: 1.插入到字符串长度大于4000字节. 2.插入到表中的记录的某个字段数据的实际长度大于2000个字节(如果是UTF-8,则是1333个字节):或者是插入的记录中有两个或两个以上长度大于2000字节的字符串. 3.数据库与客户端的JDBC 驱动不匹配.对于UTF-8或欧洲的某些字符集,o

PL/SQL developer 连接oracle数据库报错“initialization error could not load oci.dll”

声明:PL/SQL 版本:PL/SQL Developer 9.0.6 (http://files.allroundautomations.com/plsqldev906.exe) 报错提示如图: 原因:PL/SQL只对32位OS进行支持,解决方法是额外加载一个oci.dll文件 解决办法:1.下载OCI.DLL相关库文件.地址: (需注册Oracle账号) http://www.oracle.com/technetwork/topics/winsoft-085727.html ----->  

数据库报错: SQLCODE: -418, SQLSTATE: 42610, SQLERRMC: null

我在用org.springframework.jdbc.core.JdbcTemplate执行这样一句sql时报错了: INSERT INTO customerbranch ( id , OPTIMISTIC , frp_id , paymentchannel , customer_id ,bank_id ,updatetime) SELECT NEXT VALUE FOR customerbranch_ID_SEQUENCE , 0, 1005, 'NET' , ?, bankid , CUR

mysql导出数据库报错:ERROR 1030 (HY000): Got error 28 from storage engine

在linux上导出test.sql数据库时,出现了错误:ERROR 1030 (HY000): Got error 28 from storage engine.后来查了下这个是因为mysql默认的临时目录空间不足,导致无法执行此sql语句: 命令行执行下:show variables like '%dir%', basedir | /usr/local/mysql || binlog_direct_non_transactional_updates | OFF || character_set

Laravel 5.4 migrate报错:Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes (SQL: alter table `users` add unique `us ers_email_unique`(`email`))

Laravel 5.4 migrate报错:Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes (SQL: alter table `users` add unique `us     ers_email_unique`(`email`)) public function up() { Schema::create('users', function (Blu

mysql 保存emoji时报,数据库报错:Caused by: java.sql.SQLException: Incorrect string value: '\xF0\x9F\x98\x82\xF0\x9F...' for column 'review' at row 1

错误原因:我们可以看到错误提示中的字符0xF0 0x9F 0x98 0x84 ,这对应UTF-8编码格式中的4字节编码(UTF-8编码规范).正常的汉字一般不会超过3个字节,为什么为出现4个字节呢?实际上是它对应的是智能手机输入法中的表情.那为什么会报错呢?因为mysql中的utf-8并不是真正意义上的utf-8,它只能存储1~3个字节长度的utf-8编码,如果想存储4个字节的必须用utf8mb4类型.不而要使用utf8mb4类型,首先要保证Mysql版本要不低于 MySQL 5.5.3. 常用

oracle 11g 手动删除表空间文件导致数据库报错处理方法

简单说下原因:当时图方便没进数据库,直接在datafile目录下删除了表空间对应的数据文件 导致后来数据库报错,并且不能删除表空间 错误如下:ORA-01116:error in opening database ****ORA-01110:data file 54:'/home3/datafile/arrange/NewArrange.dbf'ORA-27041:unable to open fileLinux Error:2: No Such file or directoryAdditio

MySql 插入数据库报错 Incorrect string value: '\xF0\xA0\x86\xA2'

今天从nginx日志分析搜索关键字,然后把关键字插入到Mysql数据库里,出现如下错误 SQL state [HY000]; error code [1366]; Incorrect string value: '\xF0\xA0\x86\xA2' for column 'XXXX' at row 38; nested exception is java.sql.SQLException: Incorrect string value: '\xF0\xA0\x86\xA2' for column

Mysql5.7 CentOS7 报错:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

环境 Mysql5.7.24  CenOS 7.3.16 解决方案: 第一步: #systemctl stop mysqld.service 关闭mysql服务 第二步: #vim /etc/my.cnf 打开mysql配置文件 第三步: 最后面加入  skip-grant-tables 第四步: #systemctl start mysqld.service 打开MySQL服务 第四步: mysq -hlocal -uroot use mysql update user set authent