ODBC管理员无法找到Oracle TNS名称文件

时间:2012-07-11 16:50:02

标签: oracle oracle11g windows-server-2003 tnsnames

当我转到Configuration Management Tools > Microsoft ODBC Administrator > System DSN > Add > [new installation]时,通过新的Oracle安装,它在下拉列表中没有TNSNAMES.ora连接名称。使用旧安装,这已经奏效。

Create New Data Source

我已经尝试更新环境路径和注册表项,但仍无法找到让ODBC在下拉列表中查看它的方法。

enter image description here

以前在Windows Server上安装了Oracle Client。我试图删除大部分文件,但我们的Oracle DBA说我们可以再安装一次并使用新位置更新环境路径。

据我所知,有关此问题的其他帖子有herehere。但是,我不确定TNS PING是否会有所帮助,因为它似乎是关于环境路径和ODBC能够找到.ora文件的问题。

TNSNAMES.ORA位置

TNS_Admin = E:\app\[username]\product\11.2.0\client_1\network\admin\TNSNAMES.ora

环境变量

TNS_Admin = E:\app\[username]\product\11.2.0\client_1  
Path = E:\app\[username]\product\11.2.0\client_1

注册表项
home3是新安装。我应该删除旧的注册表项(home2)吗? HKLM\SOFTWARE\ORACLE\KEY_OraClient11g_home2\..._home3

此外,如果我在“创建新数据源”屏幕中选择“OraClient11g_home2”,则下拉列表中显示的内容为:

enter image description here

7 个答案:

答案 0 :(得分:6)

如果服务名称未在下拉列表中显示,请直接输入服务名称,看看您是否能够测试连接。

enter image description here

答案 1 :(得分:4)

看起来风滚草在这个上滚动了,但仅适用于可能遇到同样问题的每个人;我可以使用 Net Configuration Assistant 向导并提供正确的信息来解决此问题。它以适当的格式生成tnsnames.ora AND 应该注意,给我的文件名是tsnames.ora

答案 2 :(得分:3)

对于像我这样的愚蠢的灵魂:如果你通过记事本左右写出tnsnames.ora,请确保它没有.txt扩展名由(我们的)默认在Windows资源管理器中不可见

答案 3 :(得分:0)

确保:

  • 您的tnsnames.ora是用ANSI编码的,而不是UTF8。
  • 你没有像üäö这样的特殊字符,甚至没有评论。

答案 4 :(得分:0)

Sorry to revive an ancient thread, but I had the same problem, and Net Configuration Assistant wouldn't run.

(Windows XP SP3, Oracle 11gR2 client)

SOLUTION:
1. Uninstall all other Oracle_Home instances using the Oracle (De-)Installer (don't just go deleting registry keys!), so that you only have the one Oracle_Home that you want to keep:
%oracle-home-that-you-want-to-keep%\client\oui\bin\setup.exe
2. Create or set Windows environment variables:
TNS_Admin = %oracle_home%\client_1\network\admin
Path = %oracle_home%\client_1; ...
3. Reboot. (sigh...)

Anyway, that's what worked for me.

答案 5 :(得分:0)

或者仅使用您在文本框中输入的连接字符串(应该使用下拉框填充该连接字符串),例如127.0.0.1/XE 参见here

答案 6 :(得分:-1)

由于某些原因,Windows 2012R2没有设置ORACLE_HOME环境变量。这样可以解决问题,因此可以添加oracle_hometns_admin。 Windows 2012安装中有一个oracle_home变量。