Oracle中文报错:一个小小的坎儿(oracle中文报错)
Oracle中文报错:一个小小的坎儿
有一天,作为一个小白,我开始使用oracle数据库,但是在操作大中中文时反复出现错误,这使我很烦恼,也感到无法把握怎么去解决这个问题。
仔细研究Oracle中文报错的问题后,我发现实际上出错的原因是由于操作的语言编码参数不正确,所造成的。数据库的默认编码是AL32UTF8,但当我执行命令比如:CREATE OR REPLACE DISKGROUP 中文时,系统报错:
ORA-12514: 服务名””没有发现
而一般情况下这里的恰好就是输入的中文部分。这时,我猜想到如果改变该编码到ZHS16GBK(对应中文简体操作系统),会不会有不同的结果。为实证我的猜测,我在Oracle系统变量中增加了NLS_LANG= SIMPLIFIED CHINESE_CHINA.ZHS16GBK,然后再次运行上述操作:
“`SQL
ALTER SYSTEM SET NLS_LANG=’SIMPLIFIED CHINESE_CHINA.ZHS16GBK’;
CREATE OR REPLACE DISKGROUP 中文;
这次实验的结果出乎我的意料,成功地完成了操作!仔细观察,我发现了一个小小的坑,就是在正确设置多语言支持之前,Oracle无法识别非US7ASCII编码的中文,所以反复出现错误提示。所以,如果你正在操作Oracle,一定要注意设置系统码参数,以实现良好的中文支持!