最近工作中发现一个问题:我本机上有oracle 10g数据库和oracle 10g数据库客户端,还有一个pl/sql developer,通过pl/sql developer连接远程数据库的时候,得配置一个net服务名,但是在我本机上oracle数据库和客户端都能通过netca配置服务名,我想问一下,pl/sql developer连接数据库用的服务名,以哪个为准,是数据库配置的net服务名还是数据库客户端配置的net服务名?我感觉是不是pl/sql developer与某个绑定了,就以哪个为准,但是从哪儿能看出它与哪个绑定啊?

解决方案 »

  1.   

    E:\oracle\product\10.2.0\db_2\NETWORK\ADMIN 目录下有个tnsnames.ora文件 
    uname =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = 168.3.63.59)(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = sid)
        )
      )应该以uname吧
      

  2.   

    我的意思是在oracle数据库服务器的安装目录和oracle数据库客户端的安装目录下面都有这个文件:tnsnames.ora文件,pl/sql developer以哪个为准?
      

  3.   

    以客户端的为准了 pl/sql就是客户端的中间价啊
      

  4.   

    但是昨天,我遇到的一个问题就是:我的一个同事的机器,它的就以数据库服务器端的配置为准,刚开始我也是以为以客户端配置的net服务名为准,但是配置成功之后,pl/sql developer怎么就是连不上,最后发现,在数据库服务器通过netca配置服务名,pl/sql developer就可以连上了,真是搞不懂?
      

  5.   

    终于解决啦!在pl/sql developer 中工具---首选项---oracle---连接---oracle主目录名中选择绑定的
      

  6.   

    没错,我以前也很疑惑,后来在developer中发现可以选择多个oracel的id,不同版本的也没有问题。楼主还是厉害喔...
      

  7.   

    这个问题啊,这几天我也遇到了,你在pl/sql developer中的tools,tools中有个preferences,你把oracle Home 改一下就行了,