在Oracle SQL Developer中使用tnsnames.ora

我正在评估Oracle SQL Developer。

我的tnsnames.ora被填充,并且tnsnames.ora定义的连接的tnsping正常工作。 尽管如此,SQL Developer并不显示任何连接。

Oracle SQL Developer提到,如果

您的计算机上已安装Oracle客户端软件和tnsnames.ora文件,Oracle SQL Developer将自动从tnsnames.ora中定义的网络服务名称填充Connections导航器。

我也尝试设置我的TNS_ADMIN环境变量,但在重新启动SQL Developer后,仍然没有连接显示。

有任何想法吗?
任何人成功使用SQL Developer和tnsnames.ora?


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



  • 选项选项中expand Database --> select Advanced --> under "Tnsnames Directory" --> Browse the directory tnsnames.ora所在expand Database --> select Advanced --> under "Tnsnames Directory" --> Browse the directory
  • 然后点击确定 ,如下图所示。
    Drive:oracleproduct10x.xxclient_xNETWORKADMIN tnsnames.ora可用Drive:oracleproduct10x.xxclient_xNETWORKADMIN

    SQLDeveloper更新tnsnames目录
  • 现在您可以通过TNSnames选项进行连接。


    对于类似的问题(我以前无法找到)的这个出色答案帮助我解决了这个问题。

    从参考答案复制内容:

    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

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

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

    在Windows中,这是通过导航到控制面板>系统>高级系统设置>环境变量...
    在Linux中,在主目录中的.profile文件中定义TNS_ADMIN变量。

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

    从Windows命令行:echo%TNS_ADMIN%

    从linux:echo $ TNS_ADMIN

    重新启动SQL Developer现在在SQL Developer中,右键单击Connections并选择New Connection ....在下拉框中选择TNS作为连接类型。 您现在应该显示来自tnsnames.ora的条目。


    我有同样的问题, tnsnames.ora适用于所有其他工具,但SQL Developer不会使用它。 我尝试了我可以找到的所有网络建议,包括此处提供的链接上的解决方案。
    没有工作。

    事实证明,该数据库正在缓存tnsnames.ora备份副本,如tnsnames.ora.bk2tnsnames09042811AM4501.baktnsnames.ora.bk等。这些文件对普通用户不可读。

    我怀疑sqldeveloper是模式匹配的名称,它试图读取这些备份副本中的一个,但不能。 所以它只是优雅地失败,并在下拉列表中没有显示任何内容。

    解决方案是使所有文件可读或删除或将备份副本移出Admin目录。

    链接地址: http://www.djcxy.com/p/83725.html

    上一篇: Use tnsnames.ora in Oracle SQL Developer

    下一篇: What is the string concatenation operator in Oracle?