Oracle 10g字符集问题
来源:互联网 发布:挣钱的软件 编辑:程序博客网 时间:2024/05/01 09:14
1.出现的问题:我的电脑没有安装oracle10g服务端,安装了oracle10g的客户端,然后有一个免安装版的PL/SQL,利用sqlplus时,可以正常登录,不会出现客户端和数据库字符集不一致的问题,当我使用PL/SQL首次登录时,出现了数据库与客户端字符集不一致的情况,提示信息如下图所示:
2.解决方案:
在google上面搜了一下,基本上所有的answer都是:开始-运行-regedit-找到提示路径-找到 NLS_LANG 键,他的值原来是:SIMPLIFIED CHINESE_CHINA.ZHS16GBK,修改为:SIMPLIFIED CHINESE_CHINA.AL32UTF8-重新登录PL/SQL-问题就解决了,我也按照这个步骤做了,无奈我找到上图路径中software,但是下面的就不存在,经过一番尝试,最终找到解决方案,解决了PL/SQL首次登录字符集不一致的问题。
SQL>conn as/sysdbaSQL>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: 新字符集必须为旧字符集的超集----这时我们可以跳过超集的检查做更改:SQL> ALTER DATABASE character set INTERNAL_USE ZHS16GBK;--我们看到这个过程和之前ALTER DATABASE CHARACTER SET操作的内部过程是完全相同的,也就是说INTERNAL_USE提供的帮助就是使Oracle数据库绕过了子集与超集的校验.SQL> select * from v$nls_parameters; SQL> shutdown immediate;SQL> startupSQL> select * from v$nls_parameters;
最后重新打开PL/SQL就不会出现提示信息说字符集不一致。
3.出现上述的问题原因:我大概总结了一下,因为我以前安装过oracle11g,在我的电脑上,也出现了这个问题,貌似没有解决,最后卸载了,注册表也删除了,但任然不知道删除的彻底不彻底,可能是因为当时安装时没有选择自定义安装所造成的,所以以后应当注意,这个不是修正客户端字符集的问题,而是需要修改数据库字符集的问题。
ps:以上就是我今天遇到的问题和解决方案。
0 0
- Oracle 10g字符集问题
- 有关Oracle 10g 更改字符集的问题
- 修改oracle 10g字符集
- 从oracle 10g转到oracle 11g更改字符集
- oracle 10g 修改数据库字符集
- 【转】修改oracle 10g的字符集
- linux下修改oracle 10G 字符集
- Oracle 10g 修改字符集 为 ZHS16GBK
- 修改Oracle 10g的字符集
- Oracle 10g 修改字符集为UTF8
- 修改oracle 10g的字符集
- oracle 10g 字符集不同的库之间的数据导入导出问题
- oracle 11g更改字符集
- Oracle 11G 更改字符集
- oracle 11g更改字符集
- oracle 11g更改字符集
- 修改Oracle 10g Express Edition的字符集
- 修改Oracle 10g Express Edition的字符集
- 物联网大数据量频繁对MongoDB查询问题
- 欢迎使用CSDN-markdown编辑器
- Java for Android
- TensorLayer (TuneLayer) 实现 DropConnect
- JDBC(二)Statement,PrepareStatement和ResultSet
- Oracle 10g字符集问题
- Latex文件分别用Texwork和Winedt打开时,产生中文乱码的解决方法
- Java中取得数组(array),集合(Collection)和字符串(String)的长度
- RecyclerView下拉刷新上拉加载
- App Webview远程调试学习小记
- gdb 调试
- Codeforces Round #364 (Div. 2), problem: (B) Cells Not Under Attack
- java 转义字符
- Codeforces Round #364 (Div. 2), problem: (D) As Fast As Possible