Oracle XE 的字符集修改
作者:Starland 日期:2009-04-10 22:37:13
今天在把软件公司做好的数据库导入 Oracle XE 时,总是会出错,仔细看了一下,是12899的错误信息,好像是说字段不够长。上网查了一下,解释如下:
对于字符集是ZHS16GBK的oracle10.2.0.1企业版,所导出的数据,如果带有汉字,就可能导不进去。(而对于国内数据库,ZHS16GBK是常用的字符集设置。)例如,某字段在企业版中定义为varchar2(4),保存数据为''田田'',则导入oraclexe时,该字段定义仍为varchar2(4),但数据''田田''就需要占用6个字符长度,出现的问题如下所示:
IMP-00019: 由于 ORACLE 错误 12899 而拒绝行
IMP-00003: 遇到 ORACLE 错误 12899
ORA-12899: 列 "TEST"."TEST_TIANYC"."A" 的值太大 (实际值: 6, 最大值: 4)
但是文章给出的解决办法太麻烦,要删了数据库重建。于是再找。总算找到简单的方法:
connect system as sysdba
shutdown immediate
startup mount
alter system enable restricted session;
alter system set JOB_QUEUE_PROCESSES=0;
alter system set AQ_TM_PROCESSES=0;
alter database open;
alter database character set internal_use ZHS16GBK;
shutdown immediate;
startup;
试了一下,果然奏效,没有报那个错了。
上一篇
下一篇
文章来自:
Tags: