为什么我们用PL/SQL Developer不需要指定主机或IP就能连接到Oracle服务器

最近公司使用Oracle数据库,默认用PL/SQL Developer做客户端,不需指定Oracle服务器的地址就可以连接,同时在程序开发中连接Oracle数据库也不需要指定主机;

而如果使用Navicat来连接Oracle则需要指定地址,则是需要指定Oracle服务器主机。

  • 以下是PL/SQL  Developer连接Oracle(不需要指定主机Host):

  • 程序开发中连接Oracle( 同样不需要指定Oracle的主机Host):

  • 以下是Navicat连接Oracle(需要指定主机Host):

带着这个问题请教了同事给了解答,同时在网上搜寻,找到了详细的讲解。

 

 

————————————————————————————————————————————————————————————

以下是网上找到的得到详解的这篇文章: https://www.cnblogs.com/nsw2018/p/9837611.html

 

安装好Oracle和PLSQLDeveloper后,PLSQLDeveloper登录时没有可选数据库和连接为问题

1.登录PL/SQL Developer

这里省略Oracle数据库和PL/SQL Developer的安装步骤,注意在安装PL/SQL Developer软件时,不要安装在Program Files (x86)目录下,不然无法启动PL/SQL Developer。

 

奇怪这里为什么选择不到数据库的TNS呢?我是先安装数据库,再安装PL/SQL  Developer。按理说安装PL/SQL Developer时,就已经识别到了Oracle Home和OCI Libaray了。管它呢?先以非登录方式登录PL/SQL Developer,设置Oracle Home和OCI Libaray。

 

 在Oracle Home这选项下,没有自动识别到Oracle Home目录,于是手动指定Oracle Home路径。

 

点击“确定”,退出PL/SQL Developer,再次登录。

 

 还是选择不到数据库TNS,尝试无数据库登录,看看报什么错误。

 

终于找到问题的关键点了,安装的PL/SQL Deleloper只能识别32的oci.dll。看来是要安个64位的PL/SQL Deleloper,于是在网上搜索PL/SQL Deleloper 64位版本。然而发现PL/SQL Deleloper不区分64位和32位。那看来只能从oci.dll入手了。根据上面的报错信息来看,似乎只要安装一个32位版本的Oracle Client。

 

2.安装oracle Clinet

首先到Oracle官网上去下载一个Oracle 11g Client,不过需要先申请一个Oracle 帐号,才能下载。

目前下载地址:http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html

 这个一个绿色版的Oracle Client,因此只要需要解压了,就可以是。将下载的Oracle Client文件instantclient-basic-win32-11.2.0.1.0.zip解压到C盘(注意啦!不能下64位的)。然后在解压后的C:\instantclient_11_2目录下新建NETWORK\ADMIN目录,在ADMIN目录下新建tnsnames.ora文件,添加数据库TNS。

ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = chiclewu-PC)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
    )
  )

(注意:tnsnames.ora文件也可以从Oracle数据库HOME目录的NETWORK\ADMIN目录,还要把sqlnet.ora拷贝过来。然后确定HOST配置是否正确,如果HOST是主机名,需要把主机名后面的域名去掉)

 

3.配置PL/SQL Developer的Oracle Home和OCI Libaray

以非登录模式进入PL/SQL Developer,将Oracle Home路径指定为Oracle Client目录(C:\instantclient_11_2),OCI Libaray路径为Oracle Client目录的oci.dll(C:\instantclient_11_2\oci.dll)。

 

点击“确定”,现在配置已完成,下面就是等待奇迹的时刻。退出PL/SQL Developer。

 

4:添加环境变量(系统变量中添加2个)

   (TNS_ADMIN 值: E:\app\OYK\product\11.2.0\dbhome_1\NETWORK\ADMIN(oracle11g 安装的位置))

    

      第二个是指定数据库使用的编码。如果不设置成以下值,那么连接上数据库后,你看到的所有中文的内容将会是 乱码,都是一堆问号 。
     NLS_LANG 值:SIMPLIFIED CHINESE_CHINA.ZHS16GBK
    

5.重启plsql,或者电脑验证Oracle Client

打开新的PL/SQL Developer,输入用户名和密码,在database选项下,可以看刚才配置的TNS了。

 

 

等待奇迹时刻...........

经过几秒钟的等待,奇迹时刻终于到来了,可以登录了,可以登录了........

检验一下是否可以查询数据。

 

查询数据没有问题,终于大功告成了。

 

参考:

https://blog.csdn.net/finality_000/article/details/49681973

https://www.cnblogs.com/ymj126/p/3712727.html

https://blog.csdn.net/ping802363/article/details/54582002

Guess you like

Origin blog.csdn.net/carcarrot/article/details/111321980