oracle中,设定varchar2长度为4000,(最大只能存4000),为什么存到1333就不行了,多一个都不行,报 ORA-01480:trailling missing from STR bin 那要看你数据库的字符集,多字节字符集一般只能存1000-2000个字符,在多就用CLOB吧 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 ORA-01480 trailing null missing from STR bind valueCause: A bind variable of type 5 (null-terminated string) does not contain the terminating null in its buffer.Action: Terminate the string with a null character 你是不是写入了中文?: catfox(catfox) 你那样写谁都会呀,从ERRORS文档中抄来的,呵呵。 强烈关注!!我也是定义了varchar2类型的,长度为4000,可是只能存到1024大小的长度。我里面存的是汉字。请问为什么不能在里面存2000个汉字啊!!!!强烈关注~~~~~~~~ 看看你的字符集,有的是一个汉字占四个字符的,比如我的是utf8编码的,你看看我做的试验吧:SQL> alter table t1 2 modify name char(2);表已更改。SQL> insert into t1 values('为');insert into t1 values('为') *ERROR 位于第 1 行:ORA-01401: 插入的值对于列过大SQL> alter table 2 t1 modify name char(4);表已更改。SQL> insert into t1 values('为');已创建 1 行。 ORA-01401: 插入的值对于列过大的错误,而你是ORA-01480:trailling missing from STR bind value看看你的insert 值是否有问题 如果数据库字符集是utf8,一个中文字符占用三个字节. 1333*3=3999<4000. 再多了就存不了. 如果有汉字要保存,不如使用nchar,nvarchar2,nclob等列. 可能需要配置参数NLS_LENGTH_SEMANTICS NLS_LENGTH_SEMANTICS 决定了使用哪种方案,缺省为Byte. 建议: 不要混合使用.仅当列类型为NCHAR(NVARCHAR2)时才使用 character semantics. 楼主的问题看来还是出在insert 语句本身. oracle 存储过程参数与变量的问题 ORA-27101: shared memory realm does not exist 求多表统计的SQL 根据某个字段排序更新 请教高手,将Oracle数据导出,再导入到Mysql数据库中 触发器在update表时提示表变异,怎么回事? 如何将一个表更新前和更新后的记录,插入到另外一个表中? 快来人啊,急急~!!小问题,近来看看就知道了!!! 使用dbms_job出错,为什么?? 请教一个有关去除重复的SQL语句问题 数据库入门问题:oracle中的数据库问题 关于ORA-12560: TNS: 协议适配器错误!
: catfox(catfox)
你那样写谁都会呀,从ERRORS文档中抄来的,呵呵。
SQL> alter table t1
2 modify name char(2);表已更改。
SQL> insert into t1 values('为');
insert into t1 values('为')
*
ERROR 位于第 1 行:
ORA-01401: 插入的值对于列过大SQL> alter table
2 t1 modify name char(4);表已更改。SQL> insert into t1 values('为');已创建 1 行。
ORA-01480:trailling missing from STR bind value
看看你的insert 值是否有问题
1333*3=3999<4000. 再多了就存不了. 如果有汉字要保存,不如使用nchar,nvarchar2,nclob等列.
可能需要配置参数NLS_LENGTH_SEMANTICS NLS_LENGTH_SEMANTICS 决定了使用哪种方案,缺省为Byte.
建议: 不要混合使用.仅当列类型为NCHAR(NVARCHAR2)时才使用 character semantics.
楼主的问题看来还是出在insert 语句本身.