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

JDBC Java Discussion :

Impossible de récupérer des données à une DB Oracle


Sujet :

JDBC Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 96
    Points : 39
    Points
    39
    Par défaut Impossible de récupérer des données à une DB Oracle
    Bonjour,

    J'ai un projet qui consite à la gestion d'une base de donnée Oracle via un interface web. J'utilise le serveur d'application Jboss et je me connecte à la base de donnée via une DataSource.

    Voici mon code de connexion :
    Fichier InitDB (Servlet de connexion)
    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
    public void init(ServletConfig config) throws ServletException {
    		super.init(config);
    		try{
    			Connection dbc = OracleConnexion.getConnection();
    			System.out.println("dbc = "+dbc);
    			if(dbc==null) {
    				System.out.println("connexion impossible");
    			}
    			else {
    				AdministratorDB.setConnection(dbc); //connection to the table Administrator
    				System.out.println("connexion réussi");
    			}
    		}
    		catch(Exception e){
    			System.out.println("erreur lors du chargement de InitDB "+e);
    		}
    	}
    Fichier OracleConnexion
    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
    public class OracleConnexion {
     
    	protected static String username;
    	protected static String password;
    	protected static DataSource ds;
    	protected static ArrayList<Connection> poolConnect = new ArrayList<Connection>();
     
    	static {
    		username = ApplicationProperties.getDatasourceUserId();
    		password = ApplicationProperties.getDatasourcePassword();
    		ds = getDataSource();
    	}
     
    	public static DataSource getDataSource() {
    		try{
    			InitialContext context = new InitialContext();
    			ds = (DataSource)context.lookup(ApplicationProperties.getDatasourceJndiName());
    			//recherche de l’objet DataSource dans l’annuaire JNDI
    		} 
    		catch (javax.naming.NamingException ne) {
    			System.out.println("erreur de nom : "+ ne);
    			ne.printStackTrace();
    		}
    		return ds;
    	}
     
    	public static Connection getConnection() {
    		try {
    			System.out.println("debut connexion");
    			Connection dbc = ds.getConnection(username,password);
    			System.out.println("connexion = "+dbc);
    			poolConnect.add(dbc);
    			return dbc;
    		}
    		catch(Exception e) {
    			System.out.println("erreur de connexion "+e);
    			e.printStackTrace();
    			return null ;
    		}
    	}
    D'après la console, je me connecte tres bien à la DB vu qu'elle m'affiche ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    16:33:32,959 INFO  [STDOUT] debut connexion
    16:33:33,361 INFO  [STDOUT] connexion = org.jboss.resource.adapter.jdbc.WrappedConnection@c6a26b
    16:33:33,362 INFO  [STDOUT] dbc = org.jboss.resource.adapter.jdbc.WrappedConnection@c6a26b
    16:33:33,380 INFO  [STDOUT] connexion réussi
    Le problème survient lorsque j'appelle la methode logAdmin qui va executer une bête requête
    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
    try{
    			HttpSession session = request.getSession();
    			String nickname = beanAdministratorForm.getNickname();
    			String password = beanAdministratorForm.getPassword();
    			int idAdmin = AdministratorDB.logAdmin(nickname, password);
    			if( idAdmin != 0){
    				session.setAttribute("id",""+idAdmin);
    				forward = mapping.findForward("connectionsuccess");
    			}
    			else{
    				System.out.println("erreur log, retour case départ !");
    				errors.add("badlog", new ActionMessage("loging.badusernameandpassword"));
    				forward = mapping.findForward("connectionfailed");
    			}
     
    		}
    		catch (Exception e){
    			e.printStackTrace();
    			System.out.println("erreur de log : "+e);
    		}
    code de la méthode logAdmin
    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
    public static int logAdmin (String nickname, String password){
    		erreur = null;
    		int idAdmin = 0;
     
    		try{
    			String req = "select id_administrator from administrator where nickname = ? and password = ?";	
    			PreparedStatement pstm = dbConnect.prepareStatement(req);
    			System.out.println("requete = "+req);
    			pstm.setString(1,nickname);
    			pstm.setString(2,password);
    			ResultSet rs = pstm.executeQuery();
        		if(rs.next()){
     
        			idAdmin = rs.getInt(1);
        		}
        		else {
        			idAdmin = 0;
        		}
        		pstm.close(); 
    		}
     
    		catch (Exception e){
    			erreur = e;
    			System.out.println("erreur de login : "+erreur);
    		}
    		return idAdmin;
    	}
    La console ne me sort aucune exception, juste les println que je reçois.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    16:38:03,207 INFO  [STDOUT] erreur log, retour case départ !
    Je rentre pourtant dans mes champs de ma jsp des données correctes qui se trouvent dans ma DBn donc je ne sais pas d'où pourrait venir le problème.
    Merci d'avance pour ceux qui répondront.

    Dasson

    P.S. : Je ne sais pas si je devais mettre ce post dans le JDBC ou autre part (JBOSS ou Oracle ou Struts) donc désolé si je me suis trompé.

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 96
    Points : 39
    Points
    39
    Par défaut
    C'est bon j'ai trouvé, le problème venait de fait que je ne faisais pas de COMMIT dans ma db lors de l'ajout de donné, d'où le fait que je ne savais pas les récupérer via java.

    Merci pour ceux qui ont cherché.

    Dasson

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 30/01/2015, 14h44
  2. Réponses: 4
    Dernier message: 02/06/2011, 22h03
  3. Récupérer des données dans une page HTML
    Par newdelirium dans le forum Langage
    Réponses: 3
    Dernier message: 26/10/2005, 19h18
  4. [Excel] Récupérer des données d'une base Access
    Par FoxDeltaSierra dans le forum Excel
    Réponses: 8
    Dernier message: 03/09/2005, 10h22
  5. Réponses: 7
    Dernier message: 20/03/2005, 14h53

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