你数据库的字符集不是中文字符集。
要改变数据库的字符集,oracle建议是重新建库
要改变数据库的字符集,oracle建议是重新建库
解决方案 »
- ora12514 和连接到空闲的例程
- 请教高难度oracle语句列转行问题.
- OCCI setInt()不能绑定输入参数
- 请教大侠关于oracle,packages和package bodies如何使用的问题
- 我想在select 查询语句的结果集中,增加一个id字段,标记记录的顺序号,怎么办呢?
- 搜索相同车牌号码是否有报警记录?
- 测试存储过程问题
- sqlplus 运行sql文件,出现错误?
- beckhambobo(beckham) 请进
- 数据库中有几个表主外键关联,现在需要改主键,但是有外键关联这个主键改不了
- 我是个刚接触Oracle的新手,谁能告诉我,如何在Oracle中建立一个数据库?(不是用SQL*Plus)
- 请教高手:在sqlplus中能否定义并应用变量?
你可以通过更改系统配置,把字符集变成中文。
你在你的配置文件中把NLS_LANG项改成:
NLS_LANG=ZHS16GBK;
connect internal
alter database ORCL character set ZHS16GBK;
alter database ORCL national character set ZHS16GBK;
但在linux下却报错
ORA-01679: database must be mounted EXCLUSIVE and not open to activate
不知如何解决
alter database ORCL character set ZHS16GBK;
alter database ORCL national character set ZHS16GBK; 运行结束后,再做如下步骤:
connect internal
shutdown immediate
startup
办法一、
用sqlplus,用户system
SQL> update sys.props$ set value$='ZHS16GBK' where name in ('NLS_CHARACTERSET','NLS_NCHAR_CHARACTERSET');
SQL> commit;
SQL> exit
重新关闭、启动数据库或机器重启。办法二、
select * from sys.props$;
shutdown immediate;
startup mount;
alter database CHARACTER SET internal_use ZHS16GBK;
alter database NATIONAL CHARACTER SET internal_use ZHS16GBK;
shutdown immediate;
startup restrict;
select * from sys.props$;
shutdown immediate;
startup;
但是select仍是??,是不是这个版本的oracle不支持中文字符集
第二种方法还是报
ORA-01679: database must be mounted EXCLUSIVE and not open to activate 错,不知怎样才能mount成exclusive模式
SQL> update sys.props$ set value$='ZHS16CGB231280' where name in ('NLS_CHARACTERSET','NLS_NCHAR_CHARACTERSET');方法二中:
startup mount exclusive;