Oracle 为什么TnsPing只使用sqlnet.ora而不使用tnsnames.or?

Oracle 为什么TnsPing只使用sqlnet.ora而不使用tnsnames.or?,oracle,Oracle,视窗7 我不断得到Ora err无法解析tns名称,而我已验证所有的好名称都驻留在tnsnames.Ora中。在我的道路上有不止一个甲骨文,也许这就是原因。所以我用tnsping找到了答案 tnspingmyserver 以下是输出: Used parameter files: C:\oracle64\product\12.1.0.2\client_1\network\admin\sqlnet.ora TNS-03505: Failed to resolve name tnsnames.or

视窗7

我不断得到Ora err无法解析tns名称,而我已验证所有的好名称都驻留在tnsnames.Ora中。在我的道路上有不止一个甲骨文,也许这就是原因。所以我用tnsping找到了答案

tnspingmyserver

以下是输出:

Used parameter files:
C:\oracle64\product\12.1.0.2\client_1\network\admin\sqlnet.ora

TNS-03505: Failed to resolve name

tnsnames.ora与sqlnet.ora位于同一文件夹中,为什么tnsping不使用它?

因为您可能还没有设置
TNS\u ADMIN
env。变量,因此找不到
tnsnames.ora
文件。不仅对于TnsPing,而且对于其他任何东西,将此变量设置为指向文件夹是一致使用同一tnsnames文件的唯一方法。

它实际上可能使用了您的tnsnames文件
tnsping
仅打印如下消息

Used TNSNAMES adapter to resolve the alias
当它使用
tnsnames
找到匹配项时


您可以查看一些设置以更详细地跟踪问题。

我有这个TNS_ADMIN变量,它指向一个diff文件夹,
C:\Oracle\ODP_home1\network\ADMIN
。这也是您的tnsnames.ora文件的位置吗?据我所知,ODP.NET托管驱动程序不使用环境变量(至少不是第一优先事项)。因此,您的建议在任何情况下都可能是不够的。@Alfabravo,您关于
TNS_ADMIN
的提示帮助解决了这个问题。基本上,我有多个Oracle文件夹,就像我上面所说的,TnsPing使用路径中找到的第一个文件夹,而
TNS_ADMIN
指向路径中的后一个文件夹。更新此文件夹中的tnsnames.ora后,wor你的sqlnet.ora文件的内容是什么?