2012-08-11 3 views
1
Exception in thread "main" 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 
The Connection descriptor used by the client was:localhost:1521:orcl 

at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112) 
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:261) 
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:387) 
at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:414) 
at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:165) 
at oraenter code herecle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:35) 
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:801) 
at java.sql.DriverManager.getConnection(DriverManager.java:582) 
at java.sql.DriverManager.getConnection(DriverManager.java:185) 
at com.test.Date.main(Date.java:13) 

Ceci est mon codeconnexion DB oracle

Class.forName("oracle.jdbc.driver.OracleDriver"); 
Connection con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl","system","tiger"); 

I veried fichier tnsnames.ora aussi

ORCL = 
(DESCRIPTION = 
    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) 
    (CONNECT_DATA = 
     (SERVER = DEDICATED) 
     (SID = orcl) 
    ) 
) 

J'ai ajouté ojdbc14.jar dans mon classpath et j'utilise oracle10g

Pouvez-vous aidez-moi s'il vous plaît à ce sujet.

+0

Pouvez-vous faire un tnsping à partir de l'invite de commande 'tnsping orcl' et voir ce que vous obtenez? – user75ponic

Répondre

1

Comme mentionné vérifier si vous êtes en mesure de faire un tnsping comme tnsping orcl et si cela fonctionne bien essayer de se connecter à votre base de données sqlplus ou tout autre outil comme TOAD ou SQLDeveloper. Publiez les erreurs si vous en avez, sinon utilisez ce qui suit pour vous connecter à votre base de données et voir comment cela fonctionne.

try { 
       Class.forName("oracle.jdbc.OracleDriver"); 
      } catch (ClassNotFoundException e) { 
       e.printStackTrace(); 
       return; 
      } 
      Connection con = null; 
      try { 
       con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl","system","tiger"); 
        } catch (SQLException ex) {    
      ex.printStackTrace();    
     } finally { 
      close(connection); 
     } 
return 

Update 1

Pouvez-vous essayer avec le code suivant

jdbc:oracle:thin:@//localhost:1521:orcl","system","tiger 

Si cela ne fonctionne pas essayer cela aussi

jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCPS)(HOST=<host>)(PORT=<port>))(CONNECT_DATA=(SERVICE_NAME=<service>))) 

Plus d'informations here

Cordialement

+0

Bonjour d'abord merci beaucoup pour votre aide. – satya