64位WINDOWS 使用PL SQL DEVELOPER 连接ORACLE 出错问题解决

问题:

开始配置好后,执行以下代码:

在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


你可能感兴趣的:(oracle)