首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何设置sqlnet.ora和tnsnames.ora文件?

如何设置sqlnet.ora和tnsnames.ora文件?
EN

Stack Overflow用户
提问于 2021-11-30 14:47:40
回答 2查看 261关注 0票数 0

我面临着sqlplus登录的登录问题。当我使用主机名、端口名和服务名登录时,它可以正常工作。

代码语言:javascript
运行
复制
sqlplus <userid>/<password>@<hostname>:<port>/<servicename>

以上命令没有问题。如预期的那样工作。

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

代码语言:javascript
运行
复制
sqplus <userid>/<password>@<connectstring>

我得到了

ORA-12154: TNS:无法解析指定的连接标识符

我知道我的sqlnet.ora和tnsnames.ora是不正确的,但是我不知道问题出在哪里。

sqlnet.ora

代码语言:javascript
运行
复制
SQLNET.AUTHENTICATION_SERVICES = (NTS)
NAMES.DEFAULT_DOMAIN = world

文件中有两行以上的内容。

tnsnames.ora

代码语言:javascript
运行
复制
MYTNSENTRY=
  (DESCRIPTION =
....

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

任何关于这方面的建议都是非常感谢的。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-11-30 17:27:27

在您的sqlnet.ora中有这样一行:

代码语言:javascript
运行
复制
NAMES.DEFAULT_DOMAIN = world

这意味着在以tnsname查找连接字符串之前,“.world”将被附加到连接字符串中。要么从sqlnet.ora中删除该行,要么将'.world‘添加到tnsnames.ora中的条目名中

代码语言:javascript
运行
复制
mytnsentry.world =
   (description...)
票数 0
EN

Stack Overflow用户

发布于 2021-11-30 21:27:15

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70171278

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档