好久没接触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)就行了。
开始配置
- 下载instantclient-basic包,将包解压存放到本地,我的是D:\instantclient_10_2(我重命名为D:\instantclient)。
- 然后在instantclient目录下新建两层文件夹\NETWORK\ADMIN(貌似不用这么多层级目录,只要后面的配置能找到ora文件就行),再在ADMIN文件夹下面建一个tnsnames.ora文件,然后向文件中添加如下内容。其中就是四个中文的地方需要根据实际情况修改(端口号一般都是1521):
数据库别名 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 数据库IP)(PORT = 端口号))
)
(CONNECT_DATA =
(SERVICE_NAME = 要连接的数据库名称)
)
)
- 网上说需要在系统里配置环境变量如下:
注(来自原文): 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
-
安装PL/SQL Developer,运行后出现的登录窗体不能进行登录,点击Calcel按钮,这时会在无登录状态下进入。点击工具栏Tools-->Preferences,配置Connection(连接)的Oracle Home(主目录名:第一步的解压包目录)和OCI library(OCI库),我的是D:\instantclient,oci.dll就在主目录下面,我感觉只要路径选择正确,并不需要第三步的环境变量,如下图所示:
-
重新启动PL/SQL,就可以直接选择数据库输入密码进行登录了:
问题汇总
- Q:PL/SQL Developer登陆失败,不能初始化oci.dll,你确定已经安装了32位Oracle Client吗?错误如下(网上的图,不是我的目录):
A:出现这个问题可能是因为我一开始选择的Instant Client是11.2版本的(没仔细选择),而且是64位的。后来安装了10.2 32位的就可以了。
- 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
orC:\Windows\SysWOW64
if you using a 64-bit Windows.
简单来说就是下载然后解压放到对应系统目录里。我看了下,C:\Windows\SysWOW64目录里确实有!
参考原文
不安装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/