代码之家  ›  专栏  ›  技术社区  ›  George Mauer

用句点分隔的Oracle连接标识符的具体处理方式是什么

  •  4
  • George Mauer  · 技术社区  · 17 年前

    我有一段时间一直在想这个问题,但由于它没有出现太多,我把它留在了“神秘巫师”专栏。

    在我看来,连接标识符(如abc和abc.defg)之间存在某种关系,我不太明白它是什么。

    例如,我刚才安装的一台机器在使用Identifier ED2时遇到了问题,尽管在我的tnsnames文件中我显然有

    EDC2 = (....)
    

    这是从另一台工作正常的计算机上复制粘贴的。但是,在我把它改成

    EDC2.WORLD = (...)
    

    此时解析到EDC2开始工作。这是怎么回事?

    1 回复  |  直到 17 年前
        1
  •  7
  •   Justin Cave    17 年前

    tnsnames.ora文件中的tns别名与参数交互

    NAMES.DEFAULT_DOMAIN
    

    在sqlnet.ora文件中。如果 NAMES.DEFAULT_DOMAIN 例如,如果设置为world,则当尝试连接到没有域的别名时,sqlnet.ora文件会告诉Oracle在执行tnsnames.ora文件中的查找之前自动附加域。如果尝试连接到具有域的别名, name.default_域 被忽略。

    我的一般偏好/建议是 name.default_域 到sqlnet.ora中的world,并在tnsnames.ora文件中指定edc2.world。这样,连接标识符edc2和edc2.world都可以工作——前者由于 DEFAULT_DOMAIN 参数。