首页 > 解决方案 > 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

连接正常

我无权离开文件编辑。

标签: javaoracle

解决方案


JDBC 瘦连接仅支持一个 TNS 别名。因此,您不能提供“jdbc:oracle:thin:@AUTACSRV120000, AUTACSRV120000.world”。您应该尝试只使用一个 TNS 别名。


推荐阅读