我是用Borland 的 SQL Explorer连接的,不会是他的问题吧。
解决方案 »
- 新手求解 ORA-00933: SQL 命令未正确结束
- 向oracle中插入xml问题,我已经快崩溃了!
- 如何启动数据库
- oracle 10g rac安装问题
- root连接oracle 提示:ORA-12546: TNS:permission denied (AIX环境)
- 什么是网络服务名?(在安装oracal10g的时候)
- 急!在oracle中有没有类似于msserver sql2000中的@@identity的东西???
- oracle的SQL语句出错.谁帮我看看
- 帮忙看看!!!谢谢!!!
- 在线求助date问题
- 我在win98 下安装了817 for win98 ,安装ok,sqlplus登陆ok,但是测试连接时老说没有监听器,但是我的监听器肯定是配置好的,在Listener
- pl/sql中流程控制有没有 select case 或choose case之类的语句〉难道只有用if 吗?
jlandzpa做过这个,但现在这位老兄几乎不来了,可能在itpub还常去。
大家帮帮我啊,我这两天已经焦头烂额了。
服务器A上装的是一个几千万元程序的数据库,而且也有上千个客户端程序,我不可能动服务器A的。
当我试着把客户端改动,可以看到服务器B上的汉字信息时,它就看不到服务器A上的了。
我把CSDN相关的贴子都看过了,能试的办法都试过了,实在是没辙了,才来问的。
然后,客户端设置为 AMERICAN_AMERICA.US7ASCII即可
但当我在服务器B上也用AMERICAN_AMERICA.US7ASCII时,在服务器B就无法正常显示汉字信息,用SQLPLUS*WORKSHEET眼睁睁插进去一个汉字,用Select 语句显示出来就是乱码,为什么在服务器A用AMERICAN_AMERICA.US7ASCII正常,而服务器B却不行呢?
AMERICAN_AMERICA.US7ASCII中前面AMERICAN_AMERICA决定了Oracle返回信息的语言类别,如ORA-XXXXX的出错信息为英语显示,你用SIMPLIFIED CHINESE.US7ASCII,则显示为中文信息,当然,前提是你安装了相应语言的MSG文件,另还决定了日期、货币等缺省显示格式;AMERICAN_AMERICA.US7ASCII中后面的US7ASCII决定该机上执行的Oracle应用程序或管理工具对数据库中字符型数据字符集的翻译理解。根据你的叙述,基本可断定A机数据库字符集为US7ASCII(注意:不是指A机上的环境或注册表设置,一般,字符集在创建库时已确定,实际运行的系统不可能对数据库字符集进行更改,因为可能破坏数据),而B机的数据库字符集不是US7ASCII,最简单的方法,你应删除B机上的实例后重建,重建时注意选择正确的字符集,为保证兼容性,至于客户机的环境或注册表设置必须为XXX.US7ASCII,XXX不作特别要求.如不允许重建B机数据库,则只能修改,8i下运行svrmgrl,一般如下:
SVRMGR>connect internal;
SVRMGR>Shutdown immediate;
SVRMGR>startup mount;
//断开网线,并无其他程序访问数据库,则下三句可以不要
SVRMGR>alter system enable restricted session;
SVRMGR>alter system set job_queue_processes=0;
SVRMGR>alter system set aq_tm_processes=0;
SVRMGR>alter database open;
SVRMGR>alter database character set US7ASCII; //影响char, varchar2, CLOB等
SVRMGR>alter database national character set US7ASCII;//影响nchar, nvarchar2, NCLOB等
SVRMGR>Shutdown immediate;
SVRMGR>startup;
Oracle中的语言及字符集含义非常复杂,某些字符集有一定的兼容性,可能字符集X是字符集Y的子集,或正巧你数据库中已存在地数据对于X、Y正好相同,则通过alter database改变现有数据库不会破坏数据,否则...最好多看帮助。
我试试。
接分!