java - Java Connect oracle 数据库 TNS
问题描述
我想连接 Oracle DB。
我的 .ora :
AUTACSRV120000, AUTACSRV120000.world =
(DESCRIPTION =
(ADDRESS_LIST =
(FAILOVER = ON)
(LOAD_BALANCE = OFF)
(ADDRESS = (PROTOCOL = TCP)(HOST = infra-dbaas01.noe.rct.fr)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = infra-dbaas02.pcy.rct.fr)(PORT = 1521))
)
(LOAD_BALANCE = YES)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = AUTAC_fes.dbaas.rct.fr)
)
当我想连接时,我使用
jdbc:oracle:thin:@AUTACSRV120000, AUTACSRV120000.world
结果 :
Exception in thread "main" java.sql.SQLRecoverableException: Erreur d'E/S: Inval
id connection string format, a valid format is: "host:port:sid"
但是如果我将 .ora 编辑为
AUTACSRV120000 =
(DESCRIPTION =
(ADDRESS_LIST =
(FAILOVER = ON)
(LOAD_BALANCE = OFF)
(ADDRESS = (PROTOCOL = TCP)(HOST = infra-dbaas01.noe.rct.fr)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = infra-dbaas02.pcy.rct.fr)(PORT = 1521))
)
(LOAD_BALANCE = YES)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = AUTAC_fes.dbaas.rct.fr)
)
并使用
jdbc:oracle:thin:@AUTACSRV120000
连接正常
我无权离开文件编辑。
解决方案
JDBC 瘦连接仅支持一个 TNS 别名。因此,您不能提供“jdbc:oracle:thin:@AUTACSRV120000, AUTACSRV120000.world”。您应该尝试只使用一个 TNS 别名。
推荐阅读
- python - 从 python 列表中绘制相等数量的列表元素
- angular - 无法使用 ngfor ANGULAR 在 html 中获取值
- r - 尝试在 R 3.6.3 上安装 metaSeq 包时出错
- java - 如何在 mac 上安装 openjdk 8 和 sbt 并使用默认的 openjdk 8(不是 13)?
- flutter - Flutter 弯曲导航栏不切换页面
- django - 使用 docker-compose 和 kubernetes 提供 API 时的 Nginx 上游服务器值
- function - 如何将 COM 对象参数传递给 PowerShell 函数?
- ansible - Ansible:安装带有版本约束的包
- node.js - 发送消息后,我的不和谐机器人不断发送垃圾邮件
- javascript - 我的联系表单从我的开发服务器发送电子邮件,但在 azure 上部署后抛出 500 内部错误