Probleme java-oracle

Bonjour,
j'essaye de faire une connexion entre java et oracle, sachant que j'utilise netbeans 6.0 et oracle 10g (la version express), en pricipe j'ai le code necessaire pour le faire qui est le suivant :

try {
Class.forName("oracle.jdbc.driver.OracleDriver");
} catch (ClassNotFoundException e) {
System.err.println(e) ;
System.exit (-1) ;
}

try {
// Création d'une connexion à la base
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());

Connection ma_connection = DriverManager.getConnection("jdbc:oracle:thin:127.0.0.1:1521:XE",num_utilisateur,MPD);

// Une requête simple
String ma_requete = "select CODE_FAMILLE from FAMILLE" ;

// Requête en utilisant un Statement
Statement mon_statement = ma_connection.createStatement();

// On récu
ResultSet mon_resultset = mon_statement.executeQuery(ma_requete);

// récupération et traitement du résultat

while (mon_resultset.next ()) {
System.out.println( "| " +
mon_resultset.getString("CODE_FAMILLE"));

}

ma_connection.close();

} catch (java.sql.SQLException e) {
System.err.println(e);
System.exit(-1);
}

mais lors de l'execution, je recois cette erreur :
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

sachant que j'ai installé le driver oracle qu'il faut.

Merci.
Configuration: Windows Vista
Internet Explorer 7.0

12 réponses

  1. bonjour
    j'utilise le jdeveloper 11g et Oracle 11g
    svp je veux savoir comment afficher une frame dans une page jsf ??
    0
    1. salut
      voila ce que j'ai fais moi mais j'ai des trucs soulignés en rouge donc je ne peux même pas compiler (j'utilise oracle 10g et netbeans 6.5.1 et j'ai fais addjar et selectionner le ojdbc14.jar )
      voila l'image de mon application merci de me corriger car c'est vraiement important chokran
      http://img18.imageshack.us/img18/5089/73342721.jpg
      http://img22.imageshack.us/img22/7924/61686977.jpg
      0
      1. min ghir mzeya t'as un pb je serais là ken ktib
        0
        1. je vais essayer yar7ham weldik
          0
          1. mido*

            <%
            String login = request.getParameter("login");
            String mp = request.getParameter("mp");
            try{
            Driver drv = (Driver)Class.forName("oracle.jdbc.OracleDriver").newInstance();
            Connection conn = java.sql.DriverManager.getConnection("jdbc:oracle:thin:@Server:1531:SID","Utilisateur","MotDePasse");
            session.setAttribute("db_connection",conn);
            String sql = "select pkg_securite.Verifier_pwd_web(";
            sql+=login;
            sql+=",'";
            sql+=mp;
            sql+="') as res from dual";
            Statement stat = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
            ResultSet res = stat.executeQuery(sql);
            res.next();
            int res_cnx = res.getInt(1);
            if(res_cnx!= 0)
            {
            stat.close();
            %>

            </p>
            <table width="100%" border="00" align="left">
            <tr>
            <td width="50%" height="129" ><img src="img/denied.png" width="48" height="48" align="right" /></td>
            <td width="50%"><span class="errorLabel">
            <%
            if(res_cnx == 6)
            out.print("Accès Web désactivé pour ce Login");
            else
            out.print("Accès Refusé");

            %>
            </span></td>

            tu peux melanger du java avec du html
            comme dans cet exemple extrait d'une page de menu juste apres l'introduction du login / mot de passe
            0
            1. t'es sur t'as verifie

              (SERVICE_NAME = XE) dans les tnsnames.ora ?
              0
              1. oui oui, voila le fichier "tnsnames.ora" :
                XE =
                (DESCRIPTION =
                (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
                (CONNECT_DATA =
                (SERVER = DEDICATED)
                (SERVICE_NAME = XE)
                )
                )

                EXTPROC_CONNECTION_DATA =
                (DESCRIPTION =
                (ADDRESS_LIST =
                (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC_FOR_XE))
                )
                (CONNECT_DATA =
                (SID = PLSExtProc)
                (PRESENTATION = RO)
                )
                )

                ORACLR_CONNECTION_DATA =
                (DESCRIPTION =
                (ADDRESS_LIST =
                (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC_FOR_XE))
                )
                (CONNECT_DATA =
                (SID = CLRExtProc)
                (PRESENTATION = RO)
                )
                )
                0
            2. svp vous pouvez m'aidez aussi
              0
              1. fais mais ... le probleme persiste :/
                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
                0
                1. c'est surtout XE
                  puis apres
                  tu vas sur la fenetre des commandes
                  tu fais
                  lsnrctl
                  stop
                  start

                  comme ça les modifications seront prises en charge
                  0
                  1. Bonsjour oussema
                    svp je cherche a faire la meme chose que vous pour mon projet mais je suis bloqué.
                    est ce que je mets ce bloc de code dans une classe ou direct dans ma page jsp du projet ?
                    merci
                    0
                    1. oui j'a changé le nom de la machine par 127.0.0.1 mais ca n'a rien changé, l'erreur existe encore
                      0
                      1. y'a un pb dans le descripteur du tns listener
                        t'as changé le tnsnames.ora ou listener.ora ?
                        dans ton tns tu dois trouver :
                        XE =
                        (DESCRIPTION =
                        (ADDRESS = (PROTOCOL = TCP)(HOST = NOM_TA_MACHINE)(PORT = 1521))
                        (CONNECT_DATA =
                        (SERVER = DEDICATED)
                        (SERVICE_NAME = XE)
                        )
                        )
                        tu le trouves ?
                        1