作者:谜乱凡_134 | 来源:互联网 | 2014-07-09 16:02
ORA-01480:trailingnullmissingfromSTRbindvalue的问题【问题】用PL/SQL更改数据,表中的字段为varchar2(4000),修改表中的一个数据时直接用forupdate做数据更改,数据的长度为2000多,但是在提交...SyntaxH
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里面包含的变量长度问题,出现这个错误,说明字符串被中间截断了,不能正确的解析
www.2cto.com
【解决】
1.用TOAD工具可以直接更改数据,提交时不会出现这个问题,可以直接解决这个问题,只是为了这一个问题单装一个toad工具,尤其是习惯于pl/sql工具的人,可不是一个好的方法。
2.不使用for update ,使用insert或者update语句也可以解决这个问题,只是中间有很多引号的问题或者百分号,解决起来很麻烦,可以一个一个的去加转义符,非常的费劲。还有一个小方法,可以解决这个问题,将原始串中的单引号或者百分号用其他符号代替,比如#,$之类的,将数据插入
数据库之后,再运行一个简单的update replace 语句就可以很快解决这个问题。