我正在评估 Oracle SQL Developer。
我的 tnsnames.ora
已填充,并且 tnsnames.ora
中定义的连接的 tnsping
工作正常。尽管如此,SQL Developer 不显示任何连接。
Oracle SQL Developer Soars 提到,如果
如果您的机器上已经安装了 Oracle 客户端软件和 tnsnames.ora 文件,Oracle SQL Developer 将自动从 tnsnames.ora 中定义的网络服务名称填充连接导航器。
我还尝试设置我的 TNS_ADMIN
环境变量,但重新启动 SQL Developer 后仍然没有显示连接。
有任何想法吗?有人成功使用 SQL Developer 和 tnsnames.ora 吗?
在 SQLDeveloper 中浏览 Tools --> Preferences,如下图所示。
在首选项选项中展开数据库 --> 选择高级 --> 在“Tnsnames 目录”下 --> 浏览 tnsnames.ora 所在的目录。
然后点击确定,如下图所示。 tnsnames.ora 位于 Drive:\oracle\product\10x.xx\client_x\NETWORK\ADMIN
现在您可以通过 TNSnames 选项进行连接。
这个excellent answer到一个类似的问题(我以前找不到,很遗憾)帮助我解决了这个问题。
从引用的答案复制内容:
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:echo $TNS_ADMIN 重新启动 SQL Developer 现在在 SQL Developer 中右键单击 Connections 并选择 New Connection...。在下拉框。您来自 tnsnames.ora 的条目现在应该显示在此处。
我遇到了同样的问题,tnsnames.ora
适用于所有其他工具,但 SQL Developer 不会使用它。我尝试了我能在网上找到的所有建议,包括此处提供的链接上的解决方案。
没有任何效果。
事实证明,数据库正在缓存 tnsnames.ora
的备份副本,例如 tnsnames.ora.bk2
、tnsnames09042811AM4501.bak
、tnsnames.ora.bk
等。普通用户无法读取这些文件。
我怀疑 sqldeveloper 是名称的模式匹配,它试图读取其中一个备份副本并且无法读取。所以它只是优雅地失败并且在下拉列表中没有显示任何内容。
解决方案是使所有文件可读或删除或将备份副本移出 Admin 目录。
这帮助了我:
发布时间:2011 年 8 月 12 日 4:54
设置tnsnames目录tools->Preferences->Database->advanced->Tnsnames目录
https://forums.oracle.com/forums/thread.jspa?messageID=10020012�
在较新版本的 macOS 上,还必须设置 java.library.path
。最简单/最安全的方法 [1] 是创建 ~/.sqldeveloper/<version>/sqldeveloper.conf
文件并按如下方式填充它:
AddVMOption -Djava.library.path=<instant client directory>
[1] https://community.oracle.com/message/14132189#14132189
不定期副业成功案例分享