ORA-12899: value too large for column 问题解决
后台导入数据的时候出现 ORA-12899: value too large for column错误
·
问题背景
需要部署生产的库,就直接从测试环境导出sql语句了,然后在后台@进行执行
sqlplus 后台导入数据的时候出现 ORA-12899: value too large for column错误
values ('PAY', 'GetCheckFile', '_newFile_', 'Tech', '2', '1', '是否强制生成新文件 1-强制 0-不强制', '2', null)
*
ERROR at line 2:
ORA-12899: value too large for column
"WLPT"."T_PSSM_PRODUCTPARAMSADM"."PARAMDESC" (actual: 132, maximum: 100)
问题解决
问题分析
- 对应的语句在其他环境已经导入过了,语句是没有问题的,那就是跟oracle环境有关
- 检查环境相关内容,发现表空间名称不对
- 检查相关中文乱码,发现环境变量未配置
环境变量配置
修改表空间名后,导入依然报长度过长,
查询已导入数据,发现库中中文数据乱码,确认基本为环境变量问题,检查发现linux的系统环境变量未配置
新增环境变量配置
[oracle@localhost ~]$ vi .bashrc
LANG=zh_CN.utf8
export LANG
export NLS_LANG=American_America.AL32UTF8
查看Linux环境变量
[oracle@localhost ~]$ echo $LANG
zh_CN.utf8
[oracle@localhost ~]$ echo $NLS_LANG
AMERICAN_AMERICA.AL32UTF8
查看客户端编码方式
select * from v$nls_parameters
1 NLS_LANGUAGE SIMPLIFIED CHINESE
5 NLS_NUMERIC_CHARACTERS .,
9 NLS_CHARACTERSET AL32UTF8
16 NLS_NCHAR_CHARACTERSET AL16UTF16
修改linux环境变量后导入不再报错
更多推荐
已为社区贡献5条内容
所有评论(0)