问题描述
我在 Jenkins 中使用 sqlplus 连接到我的远程 oracle 数据库。当我直接提供如下连接字符串时,它正在连接 -
工作 -
**sqlplus 'csar_ADM/password@(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(Host = server1.service2.kp.org)(PORT = 1521)) (CONNECT_DATA = (SERVICE_NAME = service2.pldc.kp.org) (SERVER = DEDICATED) ))'**
sql*Plus: Release 21.0.0.0.0 - Production on Fri Mar 26 16:40:57 2021
Version 21.1.0.0.0
copyright (c) 1982,2020,Oracle. All rights reserved.
Last Successful login time: Fri Mar 26 2021 16:32:48 -07:00
Connected to:
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
不工作 -
如果我尝试使用实例执行相同的命令,它不起作用
**sqlplus csar_ADM/password@service2.pldc.kp.org**
sql*Plus: Release 21.0.0.0.0 - Production on Fri Mar 26 16:40:57 2021
Version 21.1.0.0.0
copyright (c) 1982,Oracle. All rights reserved.
ERROR:
ORA-12154: TNS:Could not resolve the connect identifier specified
相同的设置在我本地的 Windows 中运行良好,但在我的 Jenkins unix 服务器中失败
我尝试了以下 -
dos2unix -n TNSNAMES.ORA tmp_file
dos2unix: converting file TNSNAMES.ORA to file tmp_file in Unix format ...
mv -f tmp_file TNSNAMES.ORA
ls
-
使用导出命令设置 ORACLE_HOME
-
仔细检查了 TNSNAMES.ORA 的语法,完全没问题。相同的文件在我的 Windows 设置中运行良好
service2.pldc.kp.org =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = server1.service2.kp.org)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = service2.pldc.kp.org)
(SERVER = DEDICATED)
)
)
这似乎只是 TNSNAMES.ORA 文件的问题,因为当我尝试使用连接详细信息进行连接时它工作正常。但我找不到修复方法。请帮忙
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)