Справочник по C#

    Исходники по языку программирования CSharp

    ORA-12505, TNS: слушатель в настоящее время не знает SID, указанный в дескрипторе соединения

    /
    /
    /
    90 Views

    Это вызвано тем, что запрошенный SID не существует в {ORACLE_HOME}/network/admin/tnsnames.ora

    PS Протестировано с базой данных 19c Oracle с ojdbc8.jar

    1. JDBC

    
    try (Connection conn = DriverManager.getConnection(
    "jdbc:oracle:thin:@localhost:1521:xe", "system", "password")) {
    
    // ...
    
    } catch (SQLException e) {
    e.printStackTrace();
    } catch (Exception e) {
    e.printStackTrace();
    }
    

    Выход:

    
    SQL State: 66000
    Listener refused the connection with the following error:
    ORA-12505, TNS:listener does not currently know of SID given in connect descriptor
    

    СИД xe не существует в ORACLE_HOME/network/admin/tnsnames.ora

    2. tnsnames.ora

    Образец.

    C: / {ORACLE_HOME} /NETWORK/ADMIN/tnsnames.ora

    
    # tnsnames.ora Network Configuration File: C:{ORACLE_HOME}NETWORKADMINtnsnames.ora
    # Generated by Oracle configuration tools.
    
    LISTENER_ORCL =
    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    
    
    ORACLR_CONNECTION_DATA =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
    (CONNECT_DATA =
    (SID = CLRExtProc)
    (PRESENTATION = RO)
    )
    )
    
    ORCL =
    (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    (CONNECT_DATA =
    (SERVER = DEDICATED)
    (SERVICE_NAME = orcl)
    )
    )
    

    В выше tnsnames.ora образец, SID ORCL

    Чтобы исправить это , обновите код:

    
    try (Connection conn = DriverManager.getConnection(
    "jdbc:oracle:thin:@localhost:1521:orcl", "system", "password")) {
    
    // ...
    
    } catch (SQLException e) {
    e.printStackTrace();
    } catch (Exception e) {
    e.printStackTrace();
    }
    

    Рекомендации

    JDBC оракул

    ORA-12505, TNS: слушатель в настоящее время не знает SID, указанный в дескрипторе соединения

    0.00 (0%) 0 votes

    moyadcode13
    • Facebook
    • Twitter
    • Google+
    • Linkedin
    • Pinterest