问题:
开始配置好后,执行以下代码:
在PL SQL DEVELOPER 查询
ID A DUTY
--------------------------------------------------------------------------------
35582 0 总经理助理
同样一条SQL,在 SQLPLUS 查询是正确的,如下:
SQL> SELECT card_id,INSTR(DUTY,'总经理助理') as a,DUTY FROM C
ARDS where card_id=35582;
ID A DUTY
--------------------------------------------------------------------------------
35582 1 总经理助理
只要是有中文字串,就会出这问题,但显示又不会是乱码。
我怀疑是编码问题。
在注册表中设置了以下环境 变量
NLS_LANG:AMERICAN_AMERICA.ZHS16GBK
但还是无效。
ORACLE SERVER:
NLS_LANG:AMERICAN_AMERICA.AL32UTF8
并且如果我使用非超级用户登录,还出现:
ORA-12705 错误。
后来发现,在电脑高级设置中添加的参数(NLS_LANG)是一个私有变量,并不会因为超级用户添加了,你使用的用户就不用添加。
NLS_LANG:AMERICAN_AMERICA.ZHS16GBK
---------------------------------------------------------------
另一种方法,使用bat 文件登录,bat 文件如下:
@echo off
set path=D:\app\Administrator\product\11.2.0\client_1
set ORACLE_HOME=D:\app\Administrator\product\11.2.0\client_1
set TNS_ADMIN=D:\app\Administrator\product\11.2.0\client_1\network\admin
set NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
start plsqldev.exe
不全连接的配置:
在PL/SQL DEVELOPER 设置内容:
下载了32位的ORACLE 客户端,并配置OCI 目录:
oracle 主目录名
C:\oracle11g_32\instantclient\
OCI库文件:
C:\oracle11g_32\instantclient\oci.dll