我一直想知道这一段时间,但由于它没有出现太多,我把它留在了"神秘的巫术"栏目中.
在我看来,ABC和ABC.DEFG之类的连接标识符之间存在某种关系,我不太清楚它是什么.
例如,我刚刚设置的机器我在使用identfier ED2时遇到问题,即使在我的tnsnames文件中我明显有
EDC2 = (....)
这是从另一台运行良好的计算机上复制和粘贴的.然而,在我改变它之前,做EDC2的尝试将无法解决
EDC2.WORLD = (...)
此时解析为EDC2开始工作.这里发生了什么?
tnsnames.ora文件中的TNS别名与参数交互
NAMES.DEFAULT_DOMAIN
在sqlnet.ora文件中.NAMES.DEFAULT_DOMAIN
例如,如果设置为WORLD,那么当您尝试连接到没有域的别名时,sqlnet.ora文件会告诉Oracle在tnsnames.ora文件中执行查找之前自动附加域.如果您尝试使用域连接到别名,NAMES.DEFAULT_DOMAIN
则会被忽略.
我的一般偏好/建议是NAMES.DEFAULT_DOMAIN
在sqlnet.ora中设置为WORLD并在tnsnames.ora文件中指定EDC2.WORLD.这样,连接标识符EDC2和EDC2.WORLD都可以工作 - 前者由于DEFAULT_DOMAIN
参数而变为后者.