IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Servlets/JSP Java Discussion :

connexion a une base de données oracle + JSP


Sujet :

Servlets/JSP Java

  1. #1
    Futur Membre du Club
    Inscrit en
    Avril 2008
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 9
    Points : 7
    Points
    7
    Par défaut connexion a une base de données oracle + JSP
    Bonjour,
    Je souhaiterai savoir comment accéder aux données d'une base de données Oracle à partir d'une page JSP : quelles instructions et bibliothèque choisir ?

    Merci d'avance

  2. #2
    Rédacteur
    Avatar de Vincent Rogier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 373
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 373
    Points : 5 307
    Points
    5 307
    Par défaut
    comme tu bosses en java, utilises JDBC
    Vincent Rogier.

    Rubrique ORACLE : Accueil - Forum - Tutoriels - FAQ - Livres - Blog

    Vous voulez contribuer à la rubrique Oracle ? Contactez la rubrique !

    OCILIB (C Driver for Oracle)

    Librairie C Open Source multi-plateformes pour accéder et manipuler des bases de données Oracle

  3. #3
    Futur Membre du Club
    Inscrit en
    Avril 2008
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 9
    Points : 7
    Points
    7
    Par défaut connexion a une base de données oracle + JSP
    oui c'est JDBC que j'utilise pour me connecter a ma base mais toujours a l'exécution de ce code ci-dessus il affiche le message d'exception!!!!!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    try{
     
           String mondriver = "oracle.jdbc.driver.OracleDriver";
           String monurl = "jdbc:oracle:thin:@localhost:1158:orcl";
           String moncompte = "system";
           String monpasse = "mst";
           Connection c = null ;
           Class.forName(mondriver).newInstance();
           c = DriverManager.getConnection(monurl,moncompte,monpasse);
           Statement stmt = c.createStatement();
           ResultSet result=stmt.executeQuery("SELECT NO,NOM FROM TOTO;");
           result.close();
           stmt.close();
           c.close();
     
    }catch(Exception e){
            erreur de la connexion a la base de données;
    }

  4. #4
    Expert éminent sénior
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Points : 11 862
    Points
    11 862
    Par défaut
    Il faudrait tracer la pile complète de l'erreur dans l'exception:
    Rédacteur Oracle (Oracle ACE)
    Guide Oracle ,Guide PL/SQL, Guide Forms 9i/10g, Index de recherche
    Je ne réponds pas aux questions techniques par MP
    Blogs: Forms-PL/SQL-J2EE - Forms Java Beans

  5. #5
    Futur Membre du Club
    Inscrit en
    Avril 2008
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 9
    Points : 7
    Points
    7
    Par défaut connexion a une base de données oracle + JSP
    j'ai tracer la pile de l'erreur dans l'exception mais j'ai pas compris l'erreur...

    Exception:

    java.sql.SQLException: Exception d'E/S: The Network Adapter could not establish the connection
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:125)
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:162)
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:274)
    at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:328)
    at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:348)
    at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:151)
    at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:32)
    at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:563)
    at java.sql.DriverManager.getConnection(DriverManager.java:525)
    at java.sql.DriverManager.getConnection(DriverManager.java:171)
    at org.apache.jsp.root_jsp._jspService(root_jsp.java:67)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:328)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
    at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
    at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
    at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
    at java.lang.Thread.run(Thread.java:595)


    Merci d'avance pour votre aide.

  6. #6
    Expert éminent sénior
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Points : 11 862
    Points
    11 862
    Par défaut
    et vous êtes sûr de votre chaine de connexion ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "jdbc:oracle:thin:@localhost:1158:orcl";
    Rédacteur Oracle (Oracle ACE)
    Guide Oracle ,Guide PL/SQL, Guide Forms 9i/10g, Index de recherche
    Je ne réponds pas aux questions techniques par MP
    Blogs: Forms-PL/SQL-J2EE - Forms Java Beans

  7. #7
    Futur Membre du Club
    Inscrit en
    Avril 2008
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 9
    Points : 7
    Points
    7
    Par défaut
    oui je suis sur!!!

    oracle: thin est le sous -protocole fournit par oracle.

    @localhost:1158:orcl désigne la base de données orcl situé sur la machine localhost (le serveur écoute sur le port 1158).

    je sais pas si je suis trompé ou pas???

    Merci de votre aide.

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Février 2006
    Messages
    139
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2006
    Messages : 139
    Points : 152
    Points
    152
    Par défaut
    Bonjour,

    As tu un client SQL pour te connecter sur la base?
    Si oui, reverifies les parametres de connexion(avec le tnsnames)
    sinon tu peux essayer d'en configurer un pour voir...

    Cdt

  9. #9
    Rédacteur
    Avatar de Vincent Rogier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 373
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 373
    Points : 5 307
    Points
    5 307
    Par défaut
    Citation Envoyé par aminoa Voir le message
    oui je suis sur!!!

    oracle: thin est le sous -protocole fournit par oracle.

    @localhost:1158:orcl désigne la base de données orcl situé sur la machine localhost (le serveur écoute sur le port 1158).

    je sais pas si je suis trompé ou pas???

    Merci de votre aide.
    L'interprétation de la chaine de connexion est correcte.

    Effectivement, faire un test avec sql*plus sur une machine qui a un client oracle (sans configurer de tnsnames.ora)

    juste se connecter avec user/pwd@localhost:1158/orcl pour tester la connexion.
    Vincent Rogier.

    Rubrique ORACLE : Accueil - Forum - Tutoriels - FAQ - Livres - Blog

    Vous voulez contribuer à la rubrique Oracle ? Contactez la rubrique !

    OCILIB (C Driver for Oracle)

    Librairie C Open Source multi-plateformes pour accéder et manipuler des bases de données Oracle

  10. #10
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Bonjour, j'ai un petit problème pour me connecter à la base oracle dans ma Jsp.
    En effet, ma connexion est null. J'ai testé ma connexion sous éclipse avec une procédure principale cela fonctionne. Or, le même code dans une jsp me retourne une connexion null.
    Voici ma classe connec:

    Code Java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    package laconnexion;
     
    import java.sql.*;
     
    public class connec
    {
    	private Connection connect;
    	private static connec instance =null;
    	private int cpt;
     
     
    	public synchronized static connec getInstance()
    	{
    		if (instance==null)
    		{
    			instance = new connec();
     
    			try 
    			{
    				Class.forName ("oracle.jdbc.OracleDriver");
    			} 
    			catch (ClassNotFoundException e) 
    			{
    				e.printStackTrace();
    			}			
    		}//fin de si
    		return instance;
    	}//fin getInstance()
     
     
    	public synchronized void open()
    	{
    		if (cpt==0)
    		{
    			try 
    			{
    				connect = DriverManager.getConnection ("jdbc:oracle:thin:@127.0.0.1:1521:","celso","lol");
    				cpt=cpt+1;
    			} 
    			catch (SQLException e) 
    			{
    				e.printStackTrace();
    			}
    		}//fin de si
    		cpt=cpt+1;
    	}//fin de open()
     
     
    	public synchronized void close()
    	{
    		if (cpt==0)
    		{
    			try 
    			{
    				connect.close();
    				cpt=cpt-1;
    			} 
     
    			catch (SQLException e) 
    			{
    				e.printStackTrace();
    			}
    		}//fin de si
    		cpt=cpt-1;
    	}//fin de close()
     
    	public Connection getConnect()
    	{
    		return connect;
    	}
     
    }//fin de la classe connec

    Et voici ma JSP :

    Code JSP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    <html>
    <body>
     
    <%@ page import="laconnexion.*"%>
    <%@ page import="laconnexion.connec" %>
    <%@ page import="java.sql.*"%>
    <%@ page import="javax.*"%>
     
    <% 
            laconnexion.connec instance;
            instance=laconnexion.connec.getInstance();
            instance.open();
            Connection recup = instance.getConnect();
            int acces;
     
            String login = request.getParameter("login");
            String passwd = request.getParameter("mdp");
     
            if (recup != null) 
            { 
    %>test entrer<%
                    acces=0;
                    Statement req1 = recup.createStatement();
                    ResultSet res = req1.executeQuery("SELECT nom FROM pilote");
     
                            while (res.next())
                            {
                                    String nom_bd = res.getString(1);
                                    if (nom_bd.equals(login))
                                    {
                                            acces=1;
     
                                    }
     
                            }       
     
            if (acces==1)
                    {
                            %>
    			<jsp:forward page="acceuil.jsp"/>
    			<% 
                    }
                    else
                            {
                                    %>
    				<jsp:forward page="log.jsp"/>
    				<% 
                            }
            }
    %>
     
    </body>
    </html>

    Merci d'avance si vous avez la solution.

  11. #11
    Candidat au Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Février 2005
    Messages : 3
    Points : 4
    Points
    4
    Par défaut
    Bonjour,
    Le Driver JDBC c'est : "oracle.jdbc.driver.OracleDriver".

    Par défaut, le port d'écoute c'est 1521, tu peux essayer avec ce port et voir si ça marche.
    Par contre, le port 1158 est un port utlisé par l'Enteprise Manager Database Control http://hostname:1158/em
    Bye

    nour

  12. #12
    Membre régulier
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2010
    Messages
    192
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2010
    Messages : 192
    Points : 71
    Points
    71
    Par défaut
    Salut,
    pour se connecter à Oracle 10 et plus il faut mettre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Class.forName ("oracle.jdbc.OracleDriver");
    et pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Class.forName ("oracle.jdbc.Driver.OracleDriver");

  13. #13
    Membre régulier
    Homme Profil pro
    Expert Middleware
    Inscrit en
    Septembre 2006
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Expert Middleware

    Informations forums :
    Inscription : Septembre 2006
    Messages : 75
    Points : 100
    Points
    100
    Par défaut
    Ou la ... ca déterre dur ... masterdash t'as creusé profond la quand meme
    Quand on est mort, on ne sait pas qu’on est mort, c’est pour les autres que c’est difficile… Quand on est con, c’est pareil.

  14. #14
    Membre régulier
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2010
    Messages
    192
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2010
    Messages : 192
    Points : 71
    Points
    71
    Par défaut
    Non j'ai trouver dans une pochette surprise

Discussions similaires

  1. Connexion avec une Base de donnée oracle
    Par zyanya dans le forum VB.NET
    Réponses: 3
    Dernier message: 20/05/2010, 18h45
  2. Connexion pool à une base de données Oracle
    Par karami dans le forum JDBC
    Réponses: 5
    Dernier message: 08/11/2007, 16h17
  3. connexion à une base de données oracle
    Par 3wicha dans le forum Administration
    Réponses: 3
    Dernier message: 11/06/2007, 15h58
  4. Connexion de Delphi avec une base de données Oracle 9i
    Par Price dans le forum Bases de données
    Réponses: 1
    Dernier message: 19/12/2005, 13h38
  5. Réponses: 4
    Dernier message: 25/11/2005, 20h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo