oracle导出数据以及数据显示乱码的问题

本文介绍了如何解决Oracle导出数据时遇到的乱码问题,包括下载并配置instanceclient、设置PL/SQL环境变量,以及通过调整NLS_LANG解决字符集不一致导致的乱码显示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

昨天遇到一个oracle导出数据的问题,上网查了一下解决办法,如下

首先下载PL/SQL(在文本中均简称我PL)和instanceclient.

注:instanceclient是属于oracle客户端里面的一个功能,自oracle 10g之后出现,和PL结合使用,只需直接下载解压缩后,配置一下环境变量即可顺利使用PL远程连接数据库。现将详细配置办法如下:

1、下载instanceclient和PL

http://download.youkuaiyun.com/tag/instantclient

http://www.pc6.com/softview/SoftView_66665.html#download

2、解压缩instanceclient

例:F:\instantclient_10_2


3、在该文件夹下添加两个文件

1)sqlnet.ora

文件内容为:

SQLNET.AUTHENTICATION_SERVICES= (NTS)   
 
NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)

2)

文件内容为:

orcl =   
(DESCRIPTION =      
  (ADDRESS_LIST =         
    (ADDRESS = (PROTOCOL = TCP)(HOST = 115.24.161.31 )(PORT = 1521))      
  )       
  (CONNECT_DATA =        
    (SERVICE_NAME = orcl )      
  )
)

注:下划线且斜体部分根据自己数据库情况更改

3、配置环境变量

变量名                       变量值

TNS_ADMIN            D:\STUDY\instantclient_10_2

  

注:这里变量值即为instantclient在本地的主目录;如果不配置该变量,

       连接时会报错ORA-12154: TNS:could not resolve the connect identifier specified。

4、安装PL

5、打开PL进行设置

 打开PL/SQL,Tools-->Preferences,配置Connection的Oracle Home和OCI library,如下图所示:


ok后重新启动PL,测试连接成功

6、PL显示乱码,或者导出中文为问号(检查原因是数据本身就是问号),原因应该是字符集等编码方式不一致

查看字符集等编码方式语句:

select * from V$NLS_PARAMETERS

解决办法就是保持oracle服务器端和PL一致,主要是这两个参数


windows中创建一个名为“NLS_LANG”的系统环境变量,设置其值为“SIMPLIFIED CHINESE_CHINA.ZHS16GBK”,然后重新启动 pl/sql developer,这样检索出来的中文内容就不会是乱码了。


参考来源  http://gang-chen.iteye.com/blog/1990610

http://dw008.blog.51cto.com/2050259/934741

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值