oracle 错误: ORA-12899:始终提示字段太大

在插入表数据时出现提示字段太大错误:
oracle 错误: ORA-12899:始终提示字段太大_第1张图片
然后试着把表的数据长度改一下仍然报错。发现只要出现中文就有错误。
经查询,这个是由于字符集设置的不是gbk的,导致导入时遇到中文字符出现的问题,

解决方法: 如果可以的话就把数据库的字符集修改成ZHS16GBK等中文字符集吧,此时不管中文字符还是英文字符都是2字节了
具体解决步骤:
cmd命令

SQL> sqlplus /nolog;

SQL> conn /as sysdba
SQL> shutdown immediate;
SQL> startup mount
SQL> ALTER SYSTEM ENABLE RESTRICTED SESSION;
SQL> ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
SQL> ALTER SYSTEM SET AQ_TM_PROCESSES=0;
SQL> alter database open;
SQL> ALTER DATABASE CHARACTER SET ZHS16GBK;
ORA-12712: new character set must be a superset of old character set
这时会提示,直接跳过
SQL> ALTER DATABASE character set INTERNAL_USE ZHS16GBK;
–我们看到这个过程和之前ALTER DATABASE CHARACTER SET
SQL> shutdown immediate;
SQL> startup

SQL> select userenv(‘language’) from dual; Oracle查看字符集
oracle 错误: ORA-12899:始终提示字段太大_第2张图片
oracle 错误: ORA-12899:始终提示字段太大_第3张图片
然后就可以添加中文数据了。

你可能感兴趣的:(Oracle笔记,错误,oracle,数据库)