0

I'm using Oracle 11g and have set ojdbc6.jar in my classpath. And when I am trying to connect with database with the following code:

//JdbcTest.java


import java.sql.*;
public class JdbcTest
{
    public static void main(String args[])throws Exception
    {
        Class.forName("oracle.jdbc.driver.OracleDriver");
        Connection con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl","scott","tiger");
        Statement st=con.createStatement();
        ResultSet rs = st.executeQuery("select * from dept");
        while(rs.next())
        {
            System.out.println(rs.getInt(1)+ " " + rs.getString(2) + " " + rs.getString(3));
        }

        rs.close();
        st.close();
        con.close();
    }
}`

I am getting the following error:

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

        at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:489)
        at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:553)
        at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:254)
        at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:32)
        at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:528)
        at java.sql.DriverManager.getConnection(DriverManager.java:571)
        at java.sql.DriverManager.getConnection(DriverManager.java:215)
        at JdbcTest.main(JdbcTest.java:12)
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:399)
        at oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:1140)
        at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:340)
        ... 7 more
Press any key to continue . . .`

My tnsnames.ora file is:

# tnsnames.ora Network Configuration File: E:\Java\ProgramFiles\Oracle\product\11.2.0\dbhome_1\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.

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)
    )
  )
matsjoyce
  • 5,744
  • 6
  • 31
  • 38
Shreekant
  • 1
  • 1
  • possible duplicate of [TNS-12505: TNS:listener does not currently know of SID given in connect descriptor](http://stackoverflow.com/questions/5661610/tns-12505-tnslistener-does-not-currently-know-of-sid-given-in-connect-descript) – Ruslan Ostafiichuk Dec 02 '14 at 17:53
  • more likely a duplicate of http://stackoverflow.com/questions/4832056/java-jdbc-how-to-connect-to-oracle-using-service-name-instead-of-sid since you are trying to connect to a service name you need to use the service name syntax – mikea Dec 02 '14 at 18:08

0 Answers0