簡體   English   中英

Java Connect Oracle數據庫TNS

[英]Java Connect oracle DataBase 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

連接正常

我無權編輯文件。

可能有兩個選擇:1)使用服務名稱進行類似於此處的連接( Java JDBC-如何使用服務名稱而不是SID連接到Oracle ),但是我只能使用一台主機進行測試。 因此在您的示例中:DB URL將為:jdbc:oracle:thin:@ /// infra-dbaas01.noe.rct.fr:1522/AUTAC_fes.dbaas.rct.fr

2)我們可以按此處提到的連接描述中的方式使用TNS條目: https : //docs.oracle.com/cd/B28359_01/java.111/b31224/jdbcthin.htm

    String connString = "jdbc:oracle:thin:@(description=(address_list=
   (address=(protocol=tcp)(port=1521)(host=prodHost)))
(connect_data=(INSTANCE_NAME=ORCL)))";
  OracleDataSource ods = new OracleDataSource();

ods.setURL(connString);
ods.setUser("scott");
ods.setPassword("tiger");
Connection conn = ods.getConnection();

JDBC Thin連接僅支持一個TNS別名。 因此,您不能提供“ jdbc:oracle:thin:@ AUTACSRV120000,AUTACSRV120000.world”。 您應該僅嘗試使用一個TNS別名。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM