首页 > 代码库 > 解决32位plsql客户端连接不64位Oracle11g上数据库

解决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. 2

    安装你下载的PLSQL_Developer并点击汉化文件进行汉化。

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

    win7_oracle11g_64位连接32位PLSQL_Developer步骤阅读
  3. 3

    这时候不要着急,请将你下载的instantclient-basic-win32-10.2.0.5 文件解压。然后复制到你的数据库安装的文件夹下的producti文件夹下,我的是:

    E:\app\Administrator\product。

    win7_oracle11g_64位连接32位PLSQL_Developer步骤阅读
    win7_oracle11g_64位连接32位PLSQL_Developer步骤阅读
  4. 4

    然后找到两个文件listener.ora和tnsnames.ora我的在E:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN里面。都复制到E:\app\Administrator\product\instantclient_10_2的下面。

  5. 5

    然后找到你的PLSQL_Developer安装的目录,我的是:

    C:\Program Files (x86)\PLSQL Developer

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

    @echo off 
    set path=E:\app\Administrator\product\instantclient_10_2
    set ORACLE_HOME=E:\app\Administrator\product\instantclient_10_2
    set TNS_ADMIN=E:\app\Administrator\product\instantclient_10_2
    set NLS_LANG=AMERICAN_AMERICA.AL32UTF8
    start plsqldev.exe

    》》》注意!!!!

    我的instantclient_10_2地址是:E:\app\Administrator\product\instantclient_10_2

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

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

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

    win7_oracle11g_64位连接32位PLSQL_Developer步骤阅读
  6. 6

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

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

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

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

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

    win7_oracle11g_64位连接32位PLSQL_Developer步骤阅读
  7. 7

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

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

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

    win7_oracle11g_64位连接32位PLSQL_Developer步骤阅读
  8. 8

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

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

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

  9. 9

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

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

    找到变量名:NLS_LANG(没有的话新建一个,有的话点击--编辑)。

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

    然后点击--确定。

  10. 10

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

    找到1HKEY_LOCAL_MACHINE->SOFTWARE->ORACLE->HOMEO  > HKEY_LOCAL_MACHINE->SOFTWARE->ORACLE>KEY_OraDb11g_home1

    找到:NLS_LANG。

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

    最后点击--确定。

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

    win7_oracle11g_64位连接32位PLSQL_Developer步骤阅读
  11. 11

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

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

    END

注意事项

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

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