196 votes

ORA-12505, TNS:listener ne connaît pas actuellement le SID donné dans le descripteur de connexion.

J'ai installé Oracle 11g Express Edition Release 2 dans mon système d'exploitation Windows 7 64 bit et j'ai essayé d'exécuter le programme JDBC, puis j'ai obtenu l'erreur suivante :

java.sql.SQLException: Listener refused the connection with the following error:
ORA-12505, TNS:listener does not currently know of SID given in connect descriptor
    at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:412)
    at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:531)
    at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:221)
    at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:32)
    at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:503)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at com.jlcindia.jdbc.JDBCUtil.geOracleConnection(JDBCUtil.java:28)
    at Lab3O.main(Lab3O.java:15)
Caused by: oracle.net.ns.NetException: Listener refused the connection with the following error:
ORA-12505, TNS:listener does not currently know of SID given in connect descriptor
    at oracle.net.ns.NSProtocol.connect(NSProtocol.java:385)
    at oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:1042)
    at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:301)
    ... 8 more

2voto

The Technokrat Points 16

J'ai eu le même problème donc pour résoudre ce problème j'ai d'abord reconfiguré mon listener en utilisant netca après cela, j'ai supprimé mon ancienne base de données qui était ORCL en utilisant dbca puis j'ai recréé la nouvelle base de données en utilisant dbca

2voto

user5211481 Points 21

Veuillez cocher les deux cases OracleServiceXE y OracleXETNSListener avoir le statut démarré lorsque vous naviguez dans start->run->services.msc .

Pour mon cas uniquement OracleXETNSListener a été lancé mais OracleServiceXE n'a pas été lancé, lorsque j'ai commencé par right clicking -> start et j'ai vérifié la connexion, elle fonctionne pour moi

2voto

Paul Chechegov Points 79

Si vous utilisez Oracle Express Edition, vous devriez avoir cette url

jdbc:oracle:thin:@localhost:1521:xe ou jdbc:oracle:thin:@localhost:1521/XE

J'ai eu un problème similaire avec le plugin de configuration liquibase dans pom.xml. Et j'ai modifié ma configuration :

`<configuration>
   <driver>oracle.jdbc.OracleDriver</driver>
   <url>jdbc:oracle:thin:@localhost:1521:xe</url>
   <defaultSchemaName></defaultSchemaName>
   <username>****</username>
   <password>****</password>
</configuration>`

2voto

Connexion con=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe", "scott", "tiger") ;

J'ai eu une erreur :

java.sql.SQLException : Listener a refusé la connexion avec l'erreur suivante : ORA-12505, TNS:listener ne connaît pas actuellement le SID donné dans le descripteur de connexion. Le descripteur de connexion utilisé par le client était : localhost:1521:xe

Comment je l'ai résolu :

Connexion con=DriverManager.getConnection("jdbc:oracle:thin:localhost:1521:xe", "scott", "tiger") ;

(Supprimer @)

Je ne sais pas pourquoi, mais ça marche maintenant...

1voto

Abhishek Banik Points 1

Vérifiez en faisant tnsping et le nom d'instance dans la machine hôte. Cela vous donnera la description du tns et la plupart du temps, le nom de l'hôte est différent, ce qui ne correspond pas.

Je résous mon problème de la même manière

Dans une machine Unix $ tnsping (Entrée)

Il me donne la description complète des tns où j'ai trouvé que le nom d'hôte est différent :)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X