首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >tnsping无法识别tnsnames.ora中的行提要

tnsping无法识别tnsnames.ora中的行提要
EN

Stack Overflow用户
提问于 2022-05-03 08:57:00
回答 1查看 143关注 0票数 0

我在我的计算机中安装了oracle客户端WINDOWS.X64_193000_client_home。我设置了我的tnsnames.ora文件。当使用tnsping命令测试连接时,我发现只要将所有的值都放在一行中,没有行提要,就可以了。

代码语言:javascript
复制
Name1 =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = x.x.x.x)(PORT = 1521))(ADDRESS = (PROTOCOL = TCP)(HOST = x.x.x.x)(PORT = 1521))(ADDRESS = (PROTOCOL = TCP)(HOST = x.x.x.x)(PORT = 1521))(ADDRESS = (PROTOCOL = TCP)(HOST = x.x.x.x)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = xxx)(SERVER = DEDICATED)))

但是如果我用行提要将值放在几行中,它就会抛出错误。

代码语言:javascript
复制
Name1 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = x.x.x.x)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = x.x.x.x)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = x.x.x.x)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = x.x.x.x)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = x.x.x.x)
(SERVER = DEDICATED)
)
)

错误如下

PS C:\Oracle\WINDOWS.X64_193000_client_home\network\admin> tnsping实用程序用于64位Windows:版本19.0.0.0.0 -03-5-2022 16:33:13生产 版权(c) 1997,2019年,Oracle。版权所有。 使用的参数文件: C:\Oracle\WINDOWS.X64_193000_client_home\network\admin\sqlnet.ora 使用TNSNAMES适配器解析试图联系的别名(DESCRIPTION = TNS-12533: TNS:非法地址参数)

如何才能识别线路馈电?

编辑:某些分析器是关于tnsnames.ora文件的不正确内容的。是的,在我用缩进的方式改变了tns之后,它就开始工作了。

但我也在我的计算机中安装了Oracle SQL Developer。使用tns很好,可以成功地与oracle服务器连接。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-05-03 14:34:29

试试这个:

代码语言:javascript
复制
Name1 =
 (DESCRIPTION =
   (ADDRESS_LIST =
     (ADDRESS = (PROTOCOL = TCP)(HOST = x.x.x.x)(PORT = 1521))
     (ADDRESS = (PROTOCOL = TCP)(HOST = x.x.x.x)(PORT = 1521))
     (ADDRESS = (PROTOCOL = TCP)(HOST = x.x.x.x)(PORT = 1521))
     (ADDRESS = (PROTOCOL = TCP)(HOST = x.x.x.x)(PORT = 1521))
   )
   (CONNECT_DATA =
     (SERVICE_NAME = x.x.x.x)
     (SERVER = DEDICATED)
   )
 )

我找到了这个配置文件的语法规则

Oracle公司建议您设置文件,以便缩进反映其他关键字值对的“父”或“所有者”是什么关键字。这种格式不是必需的,但它确实使文件更容易阅读和理解。这是Network生成的格式。 即使您不选择以这种方式缩进您的文件,您也必须将包装行缩进至少一个空格,否则它将被误读为一个新参数。以下布局是可以接受的: ( (ADDRESS=(COMMUNITY=tcpcom.world)(PROTOCOL=tcp) (HOST=max.world)(PORT=1521)) 下列布局不可接受: ( (ADDRESS=(COMMUNITY=tcpcom.world)(PROTOCOL=tcp) (HOST=max.world)(PORT=1521)) 配置文件的进一步语法规则 以下规则适用于配置文件的语法:

  • 配置文件中应识别为开始包含一个或多个关键字值对的参数的任何关键字必须位于行的最左边列中。如果它被一个或多个空格缩进,则解释为前一行的延续。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72097006

复制
相关文章

相似问题

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