我面临着sqlplus登录的登录问题。当我使用主机名、端口名和服务名登录时,它可以正常工作。
sqlplus <userid>/<password>@<hostname>:<port>/<servicename>
以上命令没有问题。如预期的那样工作。
当我尝试用连接字符串登录时,
sqplus <userid>/<password>@<connectstring>
我得到了
ORA-12154: TNS:无法解析指定的连接标识符
我知道我的sqlnet.ora和tnsnames.ora是不正确的,但是我不知道问题出在哪里。
sqlnet.ora
SQLNET.AUTHENTICATION_SERVICES = (NTS)
NAMES.DEFAULT_DOMAIN = world
文件中有两行以上的内容。
tnsnames.ora
MYTNSENTRY=
(DESCRIPTION =
....
tnsnames.ora中定义的主机名、端口名和服务名,只有一个条目。我正在windows平台上执行sqlplus命令。
任何关于这方面的建议都是非常感谢的。
发布于 2021-11-30 09:27:27
在您的sqlnet.ora中有这样一行:
NAMES.DEFAULT_DOMAIN = world
这意味着在以tnsname查找连接字符串之前,“.world”将被附加到连接字符串中。要么从sqlnet.ora中删除该行,要么将'.world‘添加到tnsnames.ora中的条目名中
mytnsentry.world =
(description...)
发布于 2021-11-30 13:27:15
同意@EdStevens所说的话,并将SQLNET.AUTHENTICATION_SERVICES
行从sqlnet.ora中删除。该设置旨在帮助使用Windows本机安全性(如OS身份验证)对用户进行身份验证,但如果不使用该设置,则常常会造成问题。
https://stackoverflow.com/questions/70171278
复制