字符乱码 导致 ORA-12899: value too large
2017-03-31 17:44
633 查看
问题场景: 1.创建测试表 create table t01(name varchar2(30)) 2.插入数据 SQL> insert into t01 (name) values('所有分销商'); insert into t01 (name) values('所有分销商’) * ERROR at line 1: ORA-12899: value too large for column "DRP"."T01"."NAME" (actual: 63, maximum: 30) SQL> 问题分析: 猜测:可能是字符编码不一致,导致长度计算错误。 确认环境编码 1.终端CRT编码 UTF-8 2.数据库编码 SQL> select userenv('language') from dual; USERENV('LANGUAGE') --------------------------- AMERICAN_AMERICA.AL32UTF8 3.设置服务器变量 [oracle@Oracle02 ~]$ export NLS_LANG=AMERICAN_AMERICA.AL32UTF8 再次测试: SQL> insert into t01(name) values('中'); 1 row created. SQL> select * from t01; NAME ------------------------------ 中 SQL> insert into t01 (name) values('所有分销商'); 1 row created. SQL> 结论: NLS_LANG未设置导致字符编码不一致,导致长度计算错误。
相关文章推荐
- OGG: NLS_LENGTH_SEMANTICS报错信息ora-12899 value too large for column
- ORA-12899: value too large for...
- ORA-12899 – Value too large for column string
- Oracle导数时报错:ORA-12899: value too large for column
- ORA-12899: value too large for column "SOAU"."SJQY_QTSBSPEC"."PROPERTY_6" (actual: 566, maximum: 500
- ORA-12899: value too large for column LabelName (actual: 36, maximum: 32)
- ORA-12899: value too large for column
- ORA-12899: value too large for column
- ORA-01401: inserted value too large for column
- goldengate ORA-12899: value too large for column
- jdbc操作非中文字符集oracle数据库导致的中文字符读写乱码的解决方案
- 关于错误android.os.TransactionTooLargeException导致的崩溃
- ORA-06502: PL/SQL: numeric or value error: character string buffer too small
- ValueError: Input contains NaN, infinity or a value too large for dtype('float64')问题解决
- tomcat 导致的字符乱码的问题 eclpise字符乱码
- Packet for query is too large (1986748 > 1048576). You can change this value on the server by setting the max_allowed_pa
- ORA-06502: PL/SQL: numeric or value error: character string buffer too small
- 不好的电源会影响USB转TTL串口,导致字符乱码
- mount目录访问出现“Value too large for defined data type”错误解决办法
- constant value too large