Java Oracle localhost erreur de connexion (ORA-12505)

Je suis en train actuellement de se connecter à une base de données sur mon ordinateur actuel.

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");
        } 
    }
}

Je reçois cette erreur et je ne sais pas pourquoi...

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.<init>(PhysicalConnection.java:490)
at oracle.jdbc.driver.T4CConnection.<init>(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)

Au sein de mon serveur, j'ai utilisé la commande (connecté en tant que sys)
SQL> sélectionner une instance de v$thread;
(il retourne)
Exemple--> xe

Que pouvais-je faire incorrect?

Merci!

P. S. j'ai aussi essayé 127.0.0.1 au lieu de localhost

Ce n' lsnrctl status afficher lors de l'exécution avec l'utilisateur propriétaire de la base de données?
Il est de votre chaîne de connexion à la base de données ou de fichiers de configuration.
Êtes-vous à l'aide de Oracle Express Edition (XE) ou le Standard/Enterprise editions?
le SID xe laisse à penser qu'il est uing Express Edition.
n'est pas nécessaire. Il est d'exécuter un exemple, en passant par sa question précédente, de sorte que le xe SID peut-être à partir de l'exemple qu'il a copié.

OriginalL'auteur k9b | 2011-07-24