143

我正在评估Oracle SQL Developer

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

Oracle SQL Developer Soars提到,如果

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

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

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

4

5 回答 5

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

    SQLDeveloper 访问首选项

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

    SQLDeveloper 更新 tnsnames 目录

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

于 2012-07-23T12:22:13.233 回答
27

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

从引用的答案复制内容:

SQL Developer 将按此顺序在以下位置查找 tnsnames.ora 文件

$HOME/.tnsnames.ora
$TNS_ADMIN/tnsnames.ora
TNS_ADMIN 在注册表
/etc/tnsnames.ora(非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:回声 $TNS_ADMIN

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

于 2010-01-07T09:32:23.497 回答
7

我有同样的问题,tnsnames.ora对所有其他工具都很好,但 SQL Developer 不会使用它。我尝试了我能在网上找到的所有建议,包括此处提供的链接上的解决方案。
没有任何效果。

事实证明,数据库正在缓存tnsnames.oralike tnsnames.ora.bk2tnsnames09042811AM4501.bak等的备份副本tnsnames.ora.bk。普通用户无法读取这些文件。

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

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

于 2012-02-24T01:12:12.543 回答
2

这帮助了我:

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

设置tnsnames目录tools->Preferences->Database->advanced->Tnsnames目录

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

于 2012-06-08T09:56:00.087 回答
0

在较新版本的 macOS 上,还必须设置java.library.path. 最简单/最安全的方法 [1] 是创建~/.sqldeveloper/<version>/sqldeveloper.conf文件并像这样填充它:

AddVMOption -Djava.library.path=<instant client directory>

[1] https://community.oracle.com/message/14132189#14132189

于 2019-12-13T06:05:39.993 回答