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