当前位置:  开发笔记 > 编程语言 > 正文

在向SQL Developer添加新连接时未显示Oracle TNS名称

如何解决《在向SQLDeveloper添加新连接时未显示OracleTNS名称》经验,为你挑选了4个好方法。

我正在尝试使用SQL Developer连接到oracle数据库.

我安装了.Net oracle驱动程序并将tnsnames.ora文件放在
C:\Oracle\product\11.1.0\client_1\Network\Admin

我在tnsnames.ora中使用以下格式:

dev =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.XXX.XXX)(PORT = XXXX))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = idpdev2)
    )
  )

在SQL Developer中,当我尝试创建新连接时,没有TNS名称显示为选项.

有什么我想念的吗?



1> JaseAnderson..:

SQL Developer将按此顺序查看以下位置以获取tnsnames.ora文件

    $ HOME/.tnsnames.ora

    $ TNS_ADMIN/tnsnames.ora中

    注册表中的TNS_ADMIN查找键

    /etc/tnsnames.ora(非windows)

    $ ORACLE_HOME /网络/ admin/tnsnames.ora中

    LOCALMACHINE\SOFTWARE\ORACLE\ORACLE_HOME_KEY

    LOCALMACHINE\SOFTWARE\ORACLE\ORACLE_HOME

要查看SQL Developer正在使用哪一个,请show tns在工作表中发出命令

如果您的tnsnames.ora文件未被识别,请使用以下过程:

    定义一个名为TNS_ADMIN的环境变量,指向包含tnsnames.ora文件的文件夹.

    在Windows中,通过导航到控制面板 > 系统 > 高级系统设置 > 环境变量来完成此操作...

    在Linux中,在主目录的.profile文件中定义TNS_ADMIN变量.

    确认操作系统正在识别此环境变量

    从Windows命令行:echo%TNS_ADMIN%

    来自linux:echo $ TNS_ADMIN

    重启SQL Developer

    现在,在SQL Developer中右键单击连接并选择新建连接.在下拉框中选择TNS作为连接类型.您现在应该在tnsnames.ora中显示您的条目.



2> 小智..:

打开SQL Developer.转到工具 - >首选项 - >数据库 - >高级然后显式设置Tnsnames目录

我的TNSNAMES设置正确,我可以连接到Toad,SQL*Plus等但我需要这样做才能让SQL Developer工作.也许这是一个Win 7问题,因为安装也很痛苦.



3> Chandra Sekh..:

SQLDeveloper中浏览Tools --> Preferences,如下图所示.

在此输入图像描述

选项选项中expand Database --> select Advanced --> under "Tnsnames Directory" --> Browse the directory,tnsnames.ora存在.
然后单击" 确定".
如下图所示.

在此输入图像描述

你做完了!

现在您可以通过TNSnames选项进行连接.



4> DCookie..:

您始终可以通过运行TNSPING来查找正在使用的tnsnames.ora文件的位置来检查连接(9i或更高版本):

C:\>tnsping dev

TNS Ping Utility for 32-bit Windows: Version 10.2.0.1.0 - Production on 08-JAN-2009 12:48:38

Copyright (c) 1997, 2005, Oracle.  All rights reserved.

Used parameter files:
C:\oracle\product\10.2.0\client_1\NETWORK\ADMIN\sqlnet.ora


Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = XXX)(PORT = 1521)) (CONNECT_DATA = (SERVICE_NAME = DEV)))
OK (30 msec)

C:\>

有时,问题在于您在tnsnames.ora中创建的条目,而不是系统找不到它.也就是说,我同意拥有一个tns_admin环境变量集是一件好事,因为它避免了在确定哪个tnsnames文件正在多个oracle家庭的系统中使用时出现的不可避免的问题.

推荐阅读
地之南_816
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有