在Oracle SQL Developer中使用tnsnames.ora

我正在评估Oracle SQL Developer 。

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

Oracle SQL Developer的提醒 ,如果

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

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

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

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

    SQLDeveloper访问首选项

  • 选项中, expand Database --> select Advanced --> under "Tnsnames Directory" --> Browse the directory tnsnames.ora所在expand Database --> select Advanced --> under "Tnsnames Directory" --> Browse the directory
  • 然后点击确定 ,如下图所示。
    tnsnames.ora可在Drive:\oracle\product\10x.xx\client_x\NETWORK\ADMIN

    SQLDeveloper更新tnsnames目录

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

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

从参考答案复制内容:

SQL Developer将按照以下顺序查找tnsnames.ora文件

$ HOME / .tnsnames.ora
$ TNS_ADMIN / tnsnames.ora中
TNS_ADMIN在registry中的查找键
/etc/tnsnames.ora(非Windows)
$ ORACLE_HOME /networking/ admin / tnsnames.ora中
LOCALMACHINE \ SOFTWARE \ ORACLE \ ORACLE_HOME_KEY
LOCALMACHINE \ SOFTWARE \ ORACLE \ ORACLE_HOME

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

定义一个名为TNS_ADMIN的环境variables来指向包含你的tnsnames.ora文件的文件夹。

在Windows中,通过导航到“控制面板”>“系统”>“高级系统设置”>“环境variables”
在Linux中,在主目录中的.profile文件中定义TNS_ADMINvariables。

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

从Windows命令行:echo%TNS_ADMIN%

从linux:echo $ TNS_ADMIN

重新启动SQL Developer现在在SQL Developer中,右键单击Connections并selectNew Connection ….在下拉框中selectTNS作为连接types。 现在应该显示来自tnsnames.ora的条目。

我有同样的问题, tnsnames.ora工作正常的所有其他工具,但SQL Developer不会使用它。 我尝试了所有可以在网上find的build议,包括这里提供的链接上的解决scheme。
没有工作。

事实certificate,数据库正在cachingtnsnames.ora备份副本,如tnsnames.ora.bk2tnsnames09042811AM4501.baktnsnames.ora.bk等。这些文件对于普通用户是不可读的。

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

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

这帮助了我:

发布时间:2011年8月12日4:54

设置tnsnames目录工具 – >首选项 – >数据库 – >高级 – > Tnsnames目录

https://forums.oracle.com/forums/thread.jspa?messageID=10020012�