我在我的计算机中安装了oracle客户端WINDOWS.X64_193000_client_home。我设置了我的tnsnames.ora文件。当使用tnsping命令测试连接时,我发现只要将所有的值都放在一行中,没有行提要,就可以了。
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)))但是如果我用行提要将值放在几行中,它就会抛出错误。
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服务器连接。
发布于 2022-05-03 14:34:29
试试这个:
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)) 对配置文件的进一步语法规则 以下规则适用于配置文件的语法:
https://stackoverflow.com/questions/72097006
复制相似问题