开发者社区> 橘子红了呐> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

解决32位plsql客户端连接不64位Oracle11g上数据库

简介:
+关注继续查看





 

一、解决方案

因为本人安装的是64位的Oracle,plsql 是32位的故连接不上。网上有方法能连接。

1. 文件下载

下载PLSQL_Developer地址

http://pan.baidu.com/share/link?shareid=3768883331&uk=3557941237

下载instantclient-basic-win32-10.2.0.5地址:

http://pan.baidu.com/share/link?shareid=3782452820&uk=3557941237

 

2. 安装PLSQL_Developer并汉化

安装好打开你会发现你的PLSQL_Developer不能正常连接到数据库,没有数据库的初始化内容。


3. instantclient文件解压与复制

这时候不要着急,请将你下载的instantclient-basic-win32-10.2.0.5 文件解压。

然后复制到你的数据库安装的文件夹下的producti文件夹下,我的是:E:\app\Administrator\product。

 


4. 找到两个文件listener.oratnsnames.ora

我的在E:\Files\Oracle\product\11.2.0\dbhome_1\NETWORK\ADMIN里面。

都复制到E:\Files\Oracle\product\11.2.0\client_1\network\admin的下面。

 

 

5. 对PLSQL_Developer进行配置

找到你的PLSQL_Developer安装的目录,我的是:E:\Files\Oracle\plsql_developer\

在里面新建一个记事本,写入以下类似代码:

@echo off
set path=E:\Files\Oracle\product\11.2.0\client_1
set ORACLE_HOME=E:\Files\Oracle\product\11.2.0\client_1\
set TNS_ADMIN=E:\Files\Oracle\product\11.2.0\client_1\
set NLS_LANG=AMERICAN_AMERICA.AL32UTF8
start plsqldev.exe

注意:

我的instantclient_10_2, 地址是:E:\Files\Oracle\product\11.2.0\client_1\

而你的跟我的可能不一样,所以要修改成你的instantclient_10_2的路径!

写好后,将你的记事本名称改为start.bat然后点击运行。

如果PLSQL Developer没有打开,请仔细检查你上面的步骤和代码是否正确,然后在运行start.bat。

 


6

打开PLSQL_Developer后,取消登陆,进入主界面。

1.点击--工具--首选项--连接:

2.把上面的注销改为提交

3.OCI库改为带有instantclient_10_2的路径。

E:\Files\Oracle\product\11.2.0\dbhome_1\bin\oci.dll

4.应用--确定--关闭PLSQL_Developer重新运行。


7. 完成

恭喜你!现在你可以正常运行并完美的解决了win7_oracle11g_64位连接32位PLSQL_Developer的问题了!

但是,当你向数据库的表中添加中文的时候,你会因为表格中的中文都变成了乱码或者问号而苦恼和不解,抱怨自己的运气怎么这么差,觉得生活对你那么的不公平,这时候不要伤心,不要气馁,这是上帝故意制造的麻烦,让你在战胜困难的时候有更大的收获!

走!咱们继续摆正学习的心态去挑战问题!

 

 

二、中文乱码问题扔要解决

1. 中文显示乱码原因分析

首先,我们要弄清为什么会出现中文乱码。

你忘了么,咱们的数据库是64位的,而操作软件PLSQL_Developer是32位的。

也就是说你用PLSQL_Developer编写的中文是符合32位的字符集,而数据库只能正确储存是64位的中文字符集,这导致了写和读不是一种字符集,最终导致中文变成问号或乱码。

然后,我们找到了问题所在,现在开始解决问题!

 

2. 解决问题

右击我的电脑--电脑属性--高级系统设置--环境变量。

新建一个变量名:NLS_LANG(如果该变量名已经存在,点击--编辑)。

将它的变量值改为:SIMPLIFIED CHINESE_CHINA.ZHS16GBK

然后点击--确定。

 

3

按下WIN+R(WIN就是带微软图标的那个按键),输入:regedit 打开注册表。

找到  HKEY_LOCAL_MACHINE-> SOFTWARE-> ORACLE>KEY_OraDb11g_home1

找到:NLS_LANG。

右击NLS_LANG——点击——修改——数值数据改为:SIMPLIFIED CHINESE_CHINA.ZHS16GBK

最后点击--确定。


4 后记

好了,重新运行你的PLSQL_Developer吧,测试一下吧,如果没有成功,根据上面步骤检查。

成功了吧!现在开始管理你的数据库吧!

最后,非常的恭喜你,你成功的解决问题了,首先感谢国家,再感谢百度,最后感谢你自己!

 

 

注意事项

以后打开管理端不能直接打开plsql,运行start.bat就会自动打开plsql

\

 

 

参考文章

解决32位plsql客户端连接不64位Oracle11g上数据库

 

没有整理与归纳的知识,一文不值!高度概括与梳理的知识,才是自己真正的知识与技能。 永远不要让自己的自由、好奇、充满创造力的想法被现实的框架所束缚,让创造力自由成长吧! 多花时间,关心他(她)人,正如别人所关心你的。理想的腾飞与实现,没有别人的支持与帮助,是万万不能的。




    本文转自wenglabs博客园博客,原文链接:http://www.cnblogs.com/arxive/p/5987663.html,如需转载请自行联系原作者



版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Oracle数据库 PL/SQL 入门
Oracle数据库 PL/SQL 入门
41 0
PLSQL developer 连接不上64位Oracle
<div> <div class="textbox-title"> <h4 style="font-weight:normal; margin:0px"><a target="_blank" href="http://it.oyksoft.com/post/6003/" style="outline:none; text-decoration:none; color:rgb(0,96,
2209 0
Oracle或者Pl/Sql中001与1一样吗?
今天写了一个插入语句,往表C中插入数据。insert into 表名(列名) values () where A.列aa=B.列bb;      但半天没反应,select aa from A;select bb from B,发现存在相等的值      A中的aa是1,2,3;B中是001,002,003 解决:把1改为001,2改为002,3改为003后问题解决,从此可以看出0
1118 0
Oracle或者Pl/Sql中001与1一样吗?
今天写了一个插入语句,往表C中插入数据。insert into 表名(列名) values () where A.列aa=B.列bb;      但半天没反应,select aa from A;select bb from B,发现存在相等的值      A中的aa是1,2,3;B中是001,002,003 解决:把1改为001,2改为002,3改为003后问题解决,从此可以看出0
1101 0
Oracle 数据库11g新特性之高效 PL/SQL 编码
Oracle 数据库11g新特性之高效 PL/SQL 编码 转自:http://space.itpub.net/1384/viewspace-217959 自推出以来,PL/SQL 就一直是在 Oracle 数据库中编程的首选语言。
853 0
3402
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载