我应该如何设置 sqlnet.ora 和 tnsnames.ora 文件?

How should I set up my sqlnet.ora and tnsnames.ora files?

我在使用 sqlplus 登录时遇到登录问题。当我使用主机名、端口和服务名称登录时,它工作正常。

sqlplus <userid>/<password>@<hostname>:<port>/<servicename>

以上命令没有问题。它按预期工作。

当我尝试使用连接字符串登录时,

sqplus <userid>/<password>@<connectstring>

我越来越

ORA-12154: TNS:could not resolve the connect identifier specified

我知道我的 sqlnet.ora 和 tnsnames.ora 不正确,但无法找出问题所在。

sqlnet.ora

SQLNET.AUTHENTICATION_SERVICES = (NTS)
NAMES.DEFAULT_DOMAIN = world

文件中只有上面两行。

tnsnames.ora

MYTNSENTRY=
  (DESCRIPTION =
....

在tnsnames.ora中定义的主机名、端口和服务名称,只有一项。 我正在 windows 平台上执行 sqlplus 命令。

非常感谢任何关于此的指示。

你的sqlnet.ora这一行:

NAMES.DEFAULT_DOMAIN = world

这意味着在 tnsnames 中查找之前,“.world”将附加到您的连接字符串。从 sqlnet.ora 中删除该行,或者将“.world”附加到 tnsnames.ora

中的条目名称
mytnsentry.world =
   (description...)

同意@EdStevens 的说法,并从sqlnet.ora 中删除SQLNET.AUTHENTICATION_SERVICES 行。该设置旨在帮助使用 Windows 本机安全性(如 OS 身份验证)对用户进行身份验证,但如果您不使用它,则通常会产生问题。