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. 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
    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. 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. 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. 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. svp vous pouvez m'aidez aussi
              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. 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. je vais essayer yar7ham weldik
                  0
                  1. min ghir mzeya t'as un pb je serais là ken ktib
                    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. bonjour
                        j'utilise le jdeveloper 11g et Oracle 11g
                        svp je veux savoir comment afficher une frame dans une page jsf ??
                        0