oracle plsql修改数据时ORA-01480: STR 绑定值的结尾 Null 字符缺失 的错误解决办法。
2017-06-05 16:50
2096 查看
最近做了一个改变数据库某一字段的值,这个值比之前输入的字数要多,开始的时候,直接在PL/SQL
Developer中用常规的select ...for update 的方法修改,可是每次都几个字都会报错“ORA-01480: STR 绑定值的结尾 Null 字符缺失”,我以为是定义的字段长度不够长,不过看了下是varchar(3000),我修改后的远远达不到,看来不是这个问题.
后来在网上搜了下,总结了两种方法.(在此感谢那些无私奉献的人!!!)
首先确认你的修改后的字段值是否真的超过表字段定义长度,注意:中文占用字节长度的问题;根据字符集编码的不同,在oracle里有可能占2或者3个字节。
其次查看定义的字段长度,我的字段长度为vachar2(3000),貌似varchar2最长就是43000,好奇的可以去查查这方面的问题。
长度没有超过3000:既然没有超过3000字节那么问题就是oracle储存过程的bug了。在不同的情况下,有的就可以正常的用plsql操作表储存数据,有的就会报错01480。
既然你找到这里来了,那就是你遇到了第二种情况 plsql出现bug了。
解决办法1:将数据压缩,就是去掉多余的空格,要是2000字节多一点的情况下 就可以用这个办法解决。
解决办法2:用sql语句插入:编辑sql insert into tablename values (null,null,null,...);或者是 update 语句都可以将未超过4000字节的数据储存到表里去。
长度超过3000:
用压缩的办法去掉多余的空格,如果长度小于3000了,就可以用方法2 试一下。
压缩之后还是大于4000,就要注意要修改表的字段的类型了.
我的解决方法是第二种,update语句.
Developer中用常规的select ...for update 的方法修改,可是每次都几个字都会报错“ORA-01480: STR 绑定值的结尾 Null 字符缺失”,我以为是定义的字段长度不够长,不过看了下是varchar(3000),我修改后的远远达不到,看来不是这个问题.
后来在网上搜了下,总结了两种方法.(在此感谢那些无私奉献的人!!!)
首先确认你的修改后的字段值是否真的超过表字段定义长度,注意:中文占用字节长度的问题;根据字符集编码的不同,在oracle里有可能占2或者3个字节。
其次查看定义的字段长度,我的字段长度为vachar2(3000),貌似varchar2最长就是43000,好奇的可以去查查这方面的问题。
长度没有超过3000:既然没有超过3000字节那么问题就是oracle储存过程的bug了。在不同的情况下,有的就可以正常的用plsql操作表储存数据,有的就会报错01480。
既然你找到这里来了,那就是你遇到了第二种情况 plsql出现bug了。
解决办法1:将数据压缩,就是去掉多余的空格,要是2000字节多一点的情况下 就可以用这个办法解决。
解决办法2:用sql语句插入:编辑sql insert into tablename values (null,null,null,...);或者是 update 语句都可以将未超过4000字节的数据储存到表里去。
长度超过3000:
用压缩的办法去掉多余的空格,如果长度小于3000了,就可以用方法2 试一下。
压缩之后还是大于4000,就要注意要修改表的字段的类型了.
我的解决方法是第二种,update语句.
相关文章推荐
- 修改数据时报错------ORA-01480: STR 绑定值的结尾 Null 字符缺失
- 关于oracle plsql数据库ORA-01480: STR 绑定值的结尾 Null 字符缺失 的问题解决办法。
- ORA-01480: STR 绑定值的结尾 Null 字符缺失(转)
- ORA-01480: STR 绑定值的结尾 Null 字符缺失
- ora-01480 str 绑定值的结尾null字符缺失
- str 绑定值的结尾 null 字符缺失(oracle数据库通过pde恢复,容易出现该错误)
- ORA-1480 str 的结尾NULL 字符缺失
- ORA-01480 trailing null missing from STR bind value 错误解决方法
- 意外删除Oracle数据文件(dbf),恢复oralce库的解决办法--Oracle错误代码:ORA-01033
- C#中DataGridView绑定了DataTable后,通过代码修改DataGridView中的数据,总有一行(被修改过并被用户选中的行集合中索引为0的行)不能被UpDate回数据库的问题和解决办法
- Oracle错误——ORA-03113:通信通道的文件结尾 解决办法
- 三级下拉列表的修改时无法绑定原始数据解决办法
- 在linux上IMP6GB数据时遭遇ORA-3113"经典错误"的解决办法参考文档
- 搜狗拼音str数据文件格式错误解决办法
- Oracle创建表格报ORA-00906:缺失左括号错误解决办法
- Oracle创建表格报ORA-00906:缺失左括号错误解决办法
- kettle中抽取数据时ORA-01461错误的解决办法
- Oracle错误——ORA-03113:通信通道的文件结尾 解决办法
- Oracle错误——ORA-03113:通信通道的文件结尾 解决办法
- VS2008/2010在64位机器上连接数据库报:ORA-12154错误的解决办法