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

Développement Web en Java Discussion :

Problème de connexion à une base Oracle


Sujet :

Développement Web en Java

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    318
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 318
    Par défaut Problème de connexion à une base Oracle
    Bonjour,

    j'ai mon login.xhtml, où l'utilisateur rentre les paramètres pour se connecter à Oracle, qui les envoies par la suite à la classeBean ManagedBeanO.java ( qui contient une méthode pour se connecter à Oracle), j'appelle cette méthode dans le welcome.xhtml pour voir si je me suis connecté ou pas

    Mais j'ai comme erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    javax.servlet.ServletException: Driver-Not-Exist-004
    	javax.faces.webapp.FacesServlet.service(FacesServlet.java:321)
    Login.xhtml
    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    <html xmlns="http://www.w3.org/1999/xhtml"
        xmlns:ui="http://java.sun.com/jsf/facelets"
        xmlns:h="http://java.sun.com/jsf/html"
        xmlns:f="http://java.sun.com/jsf/core">
     
    <ui:composition template="/WEB-INF/templates/BasicTemplate.xhtml">
        <ui:define name="content">
            <h:form>
                <h:panelGrid columns="2">
                    <h:outputText value="Host"></h:outputText>
                    <h:inputText value="#{ManagedBeanO.host}"></h:inputText>
                    <h:outputText value="Port"></h:outputText>
                    <h:inputText value="#{ManagedBeanO.port}"></h:inputText>
                    <h:outputText value="User"></h:outputText>
                    <h:inputText value="#{ManagedBeanO.user}"></h:inputText>
                    <h:outputText value="Password"></h:outputText>
                    <h:inputSecret value="#{ManagedBeanO.mdp}"></h:inputSecret>
                    <h:outputText value="Base Name"></h:outputText>
                    <h:inputText value="#{ManagedBeanO.baseName}"></h:inputText>
     
                </h:panelGrid>
     
     
    			<h:commandButton value="Connect" action="Connect"></h:commandButton>
            </h:form>
        </ui:define>
     
     
    </ui:composition>
    </html>
    ManagedBeanO.java
    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
    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
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
     
    public class ManagedBeanO {
     
    	private  String valeur;
    	private Connection connectedUser;
    	private  String host;
    	private  String port;
    	private  String baseName, user, mdp, driver, url;
    	private  Connection connection=null;
    	private  final static Logger logger = Logger.getLogger(ManagedBeanO.class.getName());
     
    	public  String getHost() {
    		return host;
    	}
    	public  void setHost(String host) {
    		this.host = host;
    	}
    	public  String getPort() {
    		return port;
    	}
    	public  void setPort(String port) {
    		this.port = port;
    	}
    	public  String getBaseName() {
    		return baseName;
    	}
    	public  void setBaseName(String baseName) {
    		this.baseName = baseName;
    	}
    	public  String getUser() {
    		return user;
    	}
    	public  void setUser(String user) {
    		this.user = user;
    	}
    	public  String getMdp() {
    		return mdp;
    	}
    	public  void setMdp(String mdp) {
    		this.mdp = mdp;
    	}
    	public  String getDriver() {
    		return driver;
    	}
    	public  void setDriver(String driver) {
    		this.driver = driver;
    	}
    	public  String getUrl() {
    		return url;
    	}
    	public  void setUrl(String url) {
    		this.url = url;
    	}
    	public  Connection getConnection() {
    		return connection;
    	}
    	public  void setConnection(Connection connection) {
    		this.connection = connection;
    	}
    	public String getValeur() {
    		return this.valeur;
    	}
    	public void setValeur(String valeur) {
    		this.valeur= valeur;
            }
    	public Connection getConnectedUser() throws TechnicalException {
     
    	    if(connectedUser == null) {
    		        connectedUser = getConnection(host,port,baseName,user,mdp );
    		    }
    		    return connectedUser ;
     
    	}
    	public void setConnectedUser(Connection connectedUser) {
    		this.connectedUser = connectedUser;
    	}
    	/**
             * Gets connection
             * @param host host
             * @param port port number
             * @param baseName base name
             * @param user user name
             * @param password password
             * @return connection
             * @throws TechnicalException
             */
    	private  Connection getConnection(String host, String port, String baseName, String user, String password) throws TechnicalException {
    		// Driver Oracle
    		driver = "oracle.jdbc.driver.OracleDriver";
    		// URL de la connexion
    		url = "jdbc:oracle:thin:@"+host+":"+port+":"+baseName;
    		try {
    			Class.forName(driver);
    			// On obtient la connexion
    			connection = DriverManager.getConnection(url, user, password);
    			logger.info("Connection obtenue");
    			// On retourne la connexion
    			return connection;
    		} catch (SQLException e) {
    			logger.warning("Incorrect Connection Data.");
    			throw new TechnicalException("No-Connexion-Established-003");
    		}
    		catch (ClassNotFoundException e) {
    			// logger).fatal("Inexistent or Incorrect Driver.");
    			throw new TechnicalException("Driver-Not-Exist-004");
    		} 
    	}
     
    }
    welcome.xhtml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <html xmlns="http://www.w3.org/1999/xhtml"
        xmlns:ui="http://java.sun.com/jsf/facelets"
        xmlns:h="http://java.sun.com/jsf/html"
        xmlns:f="http://java.sun.com/jsf/core">
     
    <ui:composition template="/WEB-INF/templates/BasicTemplate.xhtml">
        <ui:define name="content">
            <h:outputLabel value="Welcome #{ManagedBeanO.connectedUser}"></h:outputLabel>
        </ui:define>
    </ui:composition>
    </html>

  2. #2
    Membre Expert
    Avatar de Nesmontou
    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Septembre 2004
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1 612
    Par défaut
    Bonjour,

    Si tu regardes bien ton code, le message correspond à l'exception ClassNotFoundException.

    La librairie contenant le driver de connexion est bien dans le classpath de l'application ?

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    318
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 318
    Par défaut
    Franchement je sais pas ou se trouve le driver de connexion, ni la classepath ... ( je suis encore debutant dans le dev )

    Sinon j'ai importer un ojdbc5.jar dans la librairie mais ça marche pas

  4. #4
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2004
    Messages
    1 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 184
    Par défaut
    Le driver est un jar du type ojdbc......jar.
    Il faut le mettre dans le classpath de ton application (WEB-INF/lib) ou de ton serveur (Un dossier lib en général)

    Et bien sûr redéployer l'appli ou redémarrer le serveur.

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    318
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 318
    Par défaut
    Merci à vous deux, j'ai fait ce que vous m'aviez dit, et ça marchhhhhe ))

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème de connexion à une base oracle avec SQL PLUS en mode graphique
    Par Bayfall dans le forum Connexions aux bases de données
    Réponses: 0
    Dernier message: 24/01/2010, 17h34
  2. Problème de connexion à une base oracle
    Par yekede dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 30/06/2009, 15h39
  3. [Oracle] Problème de connexion à une base Oracle
    Par Gigi31 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 30/06/2006, 17h49
  4. Réponses: 4
    Dernier message: 24/02/2006, 10h48

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