您的位置:首页 > 产品设计 > UI/UE

ORA-01480:trailing null missing from STR bind value

2011-03-08 23:34 435 查看
用PL/SQL更改数据,表中的字段为varchar2(3072),修改表中的一个数据时直接用for update 做数据更改,数据的长度为2088,但是在提交时报ORA-01480:trailing null missing from STR bind value错误,查过了很多的文章也没弄清楚具体原因,不过跟着这个情况,也慢慢琢磨出几个解决方法来,大家分享下



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



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





一直想找到这个问题的本质,个人认为大概有两种原因,一:pl/sql工具导致的,因为toad没有出现这个问题。二:OCI里面包含的变量长度问题,出现这个错误,说明字符串被中间截断了,不能正确的解析,如果有大虾知道原因,还望留步告知
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: