原创作品,出自 “深蓝的blog” 博客,欢迎转载,转载时请务必注明以下出处,否则追究版权法律责任。
深蓝的blog:http://blog.csdn.net/huangyanlong/article/details/41479997
安装64bit oracle11g数据库后,使用PL/SQL连接数据库,解决“中文字符”乱码问题
现场环境
操作系统 |
WINDOWS 2008 64bit |
数据库版本 |
Oracl11g 64bit 11.2.0.3 |
PL/SQL版本 |
10.0.2.1697 |
说明:PL/SQL软件只能连接32位数据库,所以实际工作中如果需要用其连接64位数据库,需要安装32位客户端。
实施操作
实现使用PL/SQL连接oracle11g数据库。
部署时我参考的我以往的一篇经验总结:http://blog.csdn.net/huangyanlong/article/details/18466053
但这次生产库出现了错误。
使用时出现错误,如下现象:
错误现象:出现乱码。
解决方法
检查数据库语言设置:
SQL> select userenv('language') nls_lang from dual;
NLS_LANG
----------------------------------------------------
SIMPLIFIED CHINESE_CHINA.ZHS16GBK
右击"我的电脑" - "属性" - "高级" - "环境变量" - "系统环境变量":
1>.选择"Path" - 点击"编辑", 把 " D:\soft\app\Administrator\product\ instantclient_11_2;" 加入;
2>.点击"新建", 变量名设置为"TNS_ADMIN", 变量值设置为" D:\soft\app\Administrator\product\ instantclient_11_2;", 点击"确定";
3>.点击"新建", 变量名设置为"NLS_LANG", 变量值设置为"SIMPLIFIED CHINESE_CHINA.ZHS16GBK", 点击"确定";
再次执行PL/SQL Developer,中文已经正确显示出来,如下所示:
总结
使用PL/SQL Developer通过安装32位客户端,成功解决连接64位数据库,但出现中文字符乱码问题,原来是WINDOWS系统下,还需要设置相应的环境变量。
后续网络查找资料
下面是在网上找的一篇关于使用PL/SQL Developer连接64位数据库的方法,总结已经很全面了,在这里转载过来,分享给朋友们。
下面为转载:
1)安装Oracle 11g 64位
2)安装32位的Oracle客户端( instantclient-basic-win32-11.2.0.1.0)
下载地址:http://www.oracle.com/technetwork/cn/topics/winsoft-095945-zhs.html
下载instantclient-basic-win32-11.2.0.1.0.zip (一定得是32位的,不要下错了版本,Oracle官网有下载),将其解压至Oracle安装目录的Product下(本机命名为:instantclient_11_2):D:\app\ZC\product\instantclient_11_2。
拷贝数据库安装根目录下的一个目录D:\app\ZC\product\11.2.0\dbhome_1\NETWORK到Oracle客户端目录下D:\app\ZC\product\instantclient_11_2(其实只需要 NETWORK\ADMIN\tnsnames.ora)
3)安装PL/SQL Developer
安装 PL/SQL Developer,在perference->Connection里面设置OCI Library和Oracle_Home,例如本机设置为:
Oracle Home :D:\app\ZC\product\instantclient_11_2
OCI Library :D:\app\ZC\product\instantclient_11_2\oci.dll
4) 设置环境变量(修改PATH和TNS_ADMIN环境变量) 对于NLS_LANG环境变量, 最好设置成和数据库端一致, 首先从数据库端查询字符集信息:
SQL> select userenv('language') nls_lang from dual;
NLS_LANG
----------------------------------------------------
SIMPLIFIED CHINESE_CHINA.ZHS16GBK
右击"我的电脑" - "属性" - "高级" - "环境变量" - "系统环境变量":
1>.选择"Path" - 点击"编辑", 把 "D:\app\ZC\product\instantclient_11_2;" 加入;
2>.点击"新建", 变量名设置为"TNS_ADMIN", 变量值设置为"D:\app\ZC\product\instantclient_11_2;", 点击"确定";
3>.点击"新建", 变量名设置为"NLS_LANG", 变量值设置为"SIMPLIFIED CHINESE_CHINA.ZHS16GBK", 点击"确定";
最后点击"确定"退出。
启动 PL/SQL Developer ,运行无问题。
原创作品,出自 “深蓝的blog” 博客,欢迎转载,转载时请务必注明以下出处,否则追究版权法律责任。
深蓝的blog:http://blog.csdn.net/huangyanlong/article/details/41479997