在Oracle SQL Developer中使用tnsnames.ora

Pet*_*ang 131 sql oracle tnsnames oracle-sqldeveloper

我正在评估Oracle SQL Developer.

tnsnames.ora已填充,并且tnsping定义的连接tnsnames.ora工作正常.但是,SQL Developer不显示任何连接.

Oracle SQL Developer Soars提到,如果

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

我还尝试设置我的TNS_ADMIN环境变量,但重启SQL Developer后仍然没有显示连接.

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

Cha*_*har 211

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

    SQLDeveloper访问首选项

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

    SQLDeveloper更新tnsnames目录

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

  • Windows快捷方式!=符号链接.http://www.howtogeek.com/howto/16226/complete-guide-to-symbolic-links-symlinks-on-windows-or-linux/ (5认同)
  • 每个人,只是对这个旧的(但非常有帮助的)帖子稍作更新:不要尝试在Windows上使用符号链接.SQL开发人员似乎不知道如何使用它.让我失去了一些时间.希望它能拯救你的. (4认同)

Pet*_*ang 22

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

从引用的答案中复制内容:

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

$ HOME/.tnsnames.ora
$ TNS_ADMIN/tnsnames.ora
注册表
/etc/tnsnames.ora 中的TNS_ADMIN查找键(非windows)
$ ORACLE_HOME/network/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中显示您的条目.

  • 我知道已经有一段时间了,但是你可以在这里找出答案的相关部分吗?以防万一回答(甚至问题)被删除. (3认同)

小智 6

我有同样的问题,tnsnames.ora适用于所有其他工具,但SQL Developer不会使用它.我在网上找到了我能找到的所有建议,包括这里提供的链接上的解决方案.
没有任何效果.

事实证明,该数据库缓存的备份副本tnsnames.ora一样tnsnames.ora.bk2,tnsnames09042811AM4501.bak,tnsnames.ora.bk等,这些文件并没有被普通用户可读.

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

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