title: Java Oracle localhost connection error (ORA-12505)
body: <p>I am trying to currently connect to a database on my current computer. </p>
  
  <pre><code>import java.sql.Connection;
  import java.sql.DriverManager;
  import java.sql.SQLException;
  
  public class Main {
      public static void main(String[] argv) throws Exception {
  
          Connection connection = null;
          try {
              // Load the JDBC driver
              String driverName = "oracle.jdbc.driver.OracleDriver";
              Class.forName(driverName);
  
              // Create a connection to the database
              String serverName = "localhost";
              String portNumber = "1521";
              String sid = "xe";
              String url = "jdbc:oracle:thin:@" + serverName + ":" + portNumber + ":" + sid;
              String username = "scott";
              String password = "tiger";
              connection = DriverManager.getConnection(url, username, password);
              System.out.println("Success");
          } catch (ClassNotFoundException e) {
              System.out.println("Class Not Found Error");
          } 
      }
  }
  </code></pre>
  
  <p>I keep getting this error and I do not know why...</p>
  
  <pre><code>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:xe
  
  at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:70)
  at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:110)
  at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:171)
  at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:496)
  at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:411)
  at oracle.jdbc.driver.PhysicalConnection.&lt;init&gt;(PhysicalConnection.java:490)
  at oracle.jdbc.driver.T4CConnection.&lt;init&gt;(T4CConnection.java:202)
  at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:33)
  at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:465)
  at java.sql.DriverManager.getConnection(Unknown Source)
  at java.sql.DriverManager.getConnection(Unknown Source)
  at Main.main(Main.java:21)
  </code></pre>
  
  <p>Within my server I have used the command (logged on as sys)
  SQL> select instance from v$thread;
  (it returns)
  Instance--> xe</p>
  
  <p>What could I be doing incorrect?</p>
  
  <p>Thanks!</p>
  
  <p>P.S. I have also tried 127.0.0.1 instead of localhost</p>