win7 64位不安装Oracle客户端配置PLSQL

好久没接触Oracle了,也很久没用win系统了。最近换工作又用到,重装了系统又要配置PLSQL,不过PLSQL的界面真的好丑,实在是不想用,而且又不想安装Oracle庞大的客户端。网上找了一些不安装Oracle客户端配置PLSQL连接远程数据库的教程,结合自己遇到的一些问题,整理一下吧。

系统环境

windows 7 64位 PLSQL 10.0 服务器数据库 Oracle 10g

相关下载

  • PLSQL下载:
    https://www.allroundautomations.com/bodyplsqldevreg.html
    因为服务器的数据库是Oracle 10g,所以我选择了PL/SQL Developer 10.0.5
  • Oracle Instant Client下载:
    http://www.oracle.com/technetwork/cn/database/features/instant-client/index-092699-zhs.html
    从10G开始,Oracle提供了一个较为轻量级的客户包,叫做Instant Client。 将它安装好后,就不用再安装庞大的Oracle Client了(赞!)。但是注意虽然我是64位系统,但是没有对应的64位PL/SQL Developer,所以还是要选择32位的Instant Client。然后根据数据库的版本选择对应的Basic版本(我的版本是10)就行了。
    win7 64位不安装Oracle客户端配置PLSQL_第1张图片
    Instant Client 下载.jpg
win7 64位不安装Oracle客户端配置PLSQL_第2张图片
选择10版本的basic版本.jpg

开始配置

  1. 下载instantclient-basic包,将包解压存放到本地,我的是D:\instantclient_10_2(我重命名为D:\instantclient)。
  2. 然后在instantclient目录下新建两层文件夹\NETWORK\ADMIN(貌似不用这么多层级目录,只要后面的配置能找到ora文件就行),再在ADMIN文件夹下面建一个tnsnames.ora文件,然后向文件中添加如下内容。其中就是四个中文的地方需要根据实际情况修改(端口号一般都是1521):
数据库别名 = 
        (DESCRIPTION =
           (ADDRESS_LIST =
             (ADDRESS = (PROTOCOL = TCP)(HOST = 数据库IP)(PORT = 端口号))
           )
           (CONNECT_DATA =
              (SERVICE_NAME = 要连接的数据库名称)
           )
         )  
  1. 网上说需要在系统里配置环境变量如下:
    注(来自原文): TNS_ADMIN:变量值即为instantclient在本地的主目录,如果不配置该变量,连接时会报错ORA-12154: TNS:could not resolve the connect identifier specified NLS_LANG:变量值是根据Oracle服务器内部的字符集配置,我直接设置的AMERICAN_AMERICA.AL32UTF8
变量名 变量
TNS_ADMIN D:\instantclient
NLS_LANG AMERICAN_AMERICA.AL32UTF8

实际上我测试删除了TNS_ADMIN变量也没问题。
NLS_LANG我就留着没删了。
关于乱码的问题请参考:
PLSQL乱码 http://gang-chen.iteye.com/blog/2005546

  1. 安装PL/SQL Developer,运行后出现的登录窗体不能进行登录,点击Calcel按钮,这时会在无登录状态下进入。点击工具栏Tools-->Preferences,配置Connection(连接)的Oracle Home(主目录名:第一步的解压包目录)和OCI library(OCI库),我的是D:\instantclient,oci.dll就在主目录下面,我感觉只要路径选择正确,并不需要第三步的环境变量,如下图所示:


    win7 64位不安装Oracle客户端配置PLSQL_第3张图片
    配置Oracle目录和OCI路径.jpg
  2. 重新启动PL/SQL,就可以直接选择数据库输入密码进行登录了:


    win7 64位不安装Oracle客户端配置PLSQL_第4张图片
    配置完成就可以下拉选择数据库了.jpg

问题汇总

  1. Q:PL/SQL Developer登陆失败,不能初始化oci.dll,你确定已经安装了32位Oracle Client吗?错误如下(网上的图,不是我的目录):
win7 64位不安装Oracle客户端配置PLSQL_第5张图片
不能初始化oci.dll.jpg

A:出现这个问题可能是因为我一开始选择的Instant Client是11.2版本的(没仔细选择),而且是64位的。后来安装了10.2 32位的就可以了。

  1. Q:运行PL/SQL提示msvcr71.dll缺失。错误:The program can’t start because MSVCR71.dll is missing from your computer. Try reinstalling the program to fix this program.
    A:我是直接用360解决了。
    有个老外的博客里面说可以这样:
  • Download MSVCR71.dll from dll-files.com. (It is free.)
  • Unzip…
  • Place MSVCR71.dll into C:\Windows\System32 or C:\Windows\SysWOW64 if you using a 64-bit Windows.

简单来说就是下载然后解压放到对应系统目录里。我看了下,C:\Windows\SysWOW64目录里确实有!


win7 64位不安装Oracle客户端配置PLSQL_第6张图片
360修复dll文件缺失.jpg

参考原文

不安装oracle客户端,用plsql连接oracle
http://gang-chen.iteye.com/blog/1990610
Win7(64Bit) 安装 PL/SQL Developer图解 http://blog.csdn.net/javaious/article/details/16918721
How to fix missing MSVCR71.dll problem in Windows
http://i.justrealized.com/2009/how-to-fix-missing-msvcr71dll-problem-in-windows/

你可能感兴趣的:(win7 64位不安装Oracle客户端配置PLSQL)