【ORACLE】ORA-01480:trailing null missing from STR bind value

【问题】用PL/SQL更改数据,表中的字段为varchar2(4000),修改表中的一个数据时直接用for update 做数据更改,数据的长度为2000多,但是在提交时报ORA-01480:trailing null missing from STR bind value错误,

【分析】

大概有两种原因,一:pl/sql工具导致的,因为toad没有出现这个问题。二:OCI里面包含的变量长度问题,出现这个错误,说明字符串被中间截断了,不能正确的解析,

【解决】

 1.用TOAD工具可以直接更改数据,提交时不会出现这个问题,可以直接解决这个问题,只是为了这一个问题单装一个toad工具,尤其是习惯于pl/sql工具的人,可不是一个好的方法。

 

2.不使用for update ,使用insert或者update语句也可以解决这个问题,只是中间有很多引号的问题或者百分号,解决起来很麻烦,可以一个一个的去加转义符,非常的费劲。还有一个小方法,可以解决这个问题,将原始串中的单引号或者百分号用其他符号代替,比如#,$之类的,将数据插入数据库之后,再运行一个简单的update replace 语句就可以很快解决这个问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值