我用oracle9i客户端精简版连接服务器成功了,但是输入sql时候,错误提示后面都是问号?比如:
SQL>select;
select
*
ERROR 位于第 1 行:
ORA-00936: ?????后面全是问号,怎么解决啊?谢谢
SQL>select;
select
*
ERROR 位于第 1 行:
ORA-00936: ?????后面全是问号,怎么解决啊?谢谢
解决方案 »
- 求会oracle datalink的大牛,我要连oracle和mysql
- cast转换问题
- 推荐好用的工具-- Oracle SQL Handler
- 各位有谁用过ORACLE中的javasource啊?
- 大家帮我看看这个存储过程是哪里的错误吧,我找了一个晚上了,我快昏了,谢谢各位了!!
- 初学者问题:要在自己的机上安装pl/sql developer连服务器的oracle9i,要先装什么?oracle9i客户端吗?
- 我在删除时总是说回滚有关的一个错,请问怎么关闭回滚?我们在删大量数据
- Oracle高手何在?关于多个字段取值为null时的重新赋值问题
- 表、表空间、数据文件、段、范围。。。晕了``
- 请问哪儿有“expert one-on-one Oracle”下载
- Oracle写批处理文件
- 启动sqlplus时出现错误:ORA-12547, TNS失去联系
解决方法:
1、检查服务器上Oracle数据库的字符集
SQL> conn sys/change_on_install
连接成功.
SQL> desc props$
列名 可空值否 类型
------------------------------- -------- ----
NAME NOT NULL VARCHAR2(30)
VALUE$ VARCHAR2(2000)
COMMENT$ VARCHAR2(2000)
SQL> col value$ format a40
SQL> select name,value$ from props$;
NAME VALUE$
------------------------------ -------------------------
DICT.BASE 2
NLS_LANGUAGE AMERICAN
NLS_TERRITORY AMERICA
NLS_CURRENCY $
NLS_ISO_CURRENCY AMERICA
NLS_NUMERIC_CHARACTERS .,
NLS_DATE_FORMAT DD-MON-YY
NLS_DATE_LANGUAGE AMERICAN
NLS_CHARACTERSET ZHS16GBK
NLS_SORT BINARY
NLS_CALENDAR GREGORIAN
NLS_RDBMS_VERSION 7.3.4.0.0
GLOBAL_DB_NAME ORACLE.WORLD
EXPORT_VIEWS_VERSION 3
查询到14记录.
NLS_CHARACTERSET这个参数应该是ZHS16GBK,如不是,改为它。
SQL*Plus中修改方法:
SQL> update props$ set value$='新字符集' where name='NLS_CHARACTERSET';
操作系统中修改方法:
connect internal
alter database ORCL character set ZHS16GBK;
alter database ORCL national character set ZHS16GBK;
2、检查操作系统级Oracle汉字显示的字符集
运行regedit,定位到:
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE
找到以下字符串
NLS_LANG
检查是否以下内容,如不是,改之
SIMPLIFIED CHINESE_CHINA.ZHS16GBK
ERROR:
ORA-12560: TNS: 协议适配器错误
警告: 您不再连接到 ORACLE。
SQL> select;
SP2-0640: 未连接
SQL> select * from emp
2 ;
SP2-0640: 未连接输入conn sys/change_on_install倒是能显示中文了,结果出现上面的问题。
比如要写成这样的:
conn system/system@orcl as sysdba;
才行啊。
提示object does not exist
我telnet上去后
conn name/pwd@DB as sysdba
提示insufficient privileges然后发现错误提示都是英文,不是中文可是用客服端简版,却出现问号查了HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE的NLS_LANG,发现是NA,改后,还是不成
我telnet到测试server,
然后SELECT USERENV('LANGUAGE') "Language" FROM DUAL,
发现是AMERICAN_AMERICA.WE8ISO8859P1,
然后将HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0\NLS_LANG改之。