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 :

Pb connexion jdbc avec un user ayant un profil qui limite le nombre de connexion à 3


Sujet :

JDBC Java

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Pb connexion jdbc avec un user ayant un profil qui limite le nombre de connexion à 3
    Bonjour,
    Mon problème est le suivant :
    J'utilise le jdbc fournit par oracle pour la version java 1.4_02 pour faire une connexion à une base oracle.

    La connexion se fait par un utilisateur qui a un profil qui limite le nombre d'échec à 3.
    Après avoir fait 2 connexions en échec en utilisant jdbc, le compte de l'utilisateur est bloqué.

    Avez-vous déjà rencontré ce genre de problème, svp?

    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
    import java.sql.Connection;
    import java.sql.Driver;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.util.Enumeration;
    import java.util.PropertyResourceBundle;
     
    public class testConnexion {
     
    	/**
             * @param args
             * @throws ClassNotFoundException 
             * @throws IllegalAccessException 
             * @throws InstantiationException 
             * @throws SQLException 
             * @throws SQLException 
             * @throws ClassNotFoundException 
             * @throws IllegalAccessException 
             * @throws InstantiationException 
             */
    	public static void main(String[] args) throws SQLException, InstantiationException, IllegalAccessException, ClassNotFoundException  {
    		// TODO Auto-generated method stub
    		DriverManager.registerDriver((Driver)Class.forName("oracle.jdbc.driver.OracleDriver").newInstance());
    			try {
    				methode1();
    			} catch (Exception e) {
    				// TODO Auto-generated catch block
    				e.printStackTrace();
    			}
     
    			try {
    				methode2();
    			} catch (Exception e) {
    				// TODO Auto-generated catch block
    				e.printStackTrace();
    			}
     
    			try {
    				methode2();
    			} catch (Exception e) {
    				// TODO Auto-generated catch block
    				e.printStackTrace();
    			}
     
    			try {
    				methode1();
    			} catch (Exception e) {
    				// TODO Auto-generated catch block
    				e.printStackTrace();
    				DriverManager.deregisterDriver((Driver)Class.forName("oracle.jdbc.driver.OracleDriver").newInstance());
    			}
     
    	}
     
     
    	public static void methode1() throws SQLException, InstantiationException, IllegalAccessException, ClassNotFoundException {
     
    		Connection con = DriverManager.getConnection("jdbc:oracle:thin:@oracle-nombase:portbase:instance", "login", "pwd");
    		String strSQL = "SELECT distinct(code) FROM op.devise ";
     
     
    		try {
    		// - Obtention d'un Statement
    			java.sql.PreparedStatement pstmt = con.prepareStatement(strSQL);
    			ResultSet rs = pstmt.executeQuery();
     
    			while ( rs.next() ){
    				System.out.println("code : " + rs.getString(1));
    			}
    		} catch (Exception e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
     
    		}
    		finally {
    			if(con!=null){
    				con.close();
    			}
    		}
    	}
     
    	public static void methode2() throws SQLException, InstantiationException, IllegalAccessException, ClassNotFoundException {
     
    		Connection con = DriverManager.getConnection("jdbc:oracle:thin:@oracle-nombase:portbase:instance", "login", "MauvaisPwd");
    		String strSQL = "SELECT distinct(code) FROM op.devise ";
     
    		try {
    			// - Obtention d'un Statement
    				java.sql.PreparedStatement pstmt = con.prepareStatement(strSQL);
    				ResultSet rs = pstmt.executeQuery();
     
    				while ( rs.next() ){
    					System.out.println("code : " + rs.getString(1));
    				}
    			} catch (Exception e) {
    				// TODO Auto-generated catch block
    				e.printStackTrace();
     
    			}
    			finally {
    				if(con!=null){
    					con.close();
    				}
    			}
     
    	}
     
    }

    La trace représente l'exécution de la classe attachée :

    code : USD
    code : XEU
    code : ZAR

    java.sql.SQLException: ORA-01017: invalid username/password; logon denied

    at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:170)
    at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:218)
    at oracle.jdbc.ttc7.O3log.receive2nd(O3log.java:517)
    at oracle.jdbc.ttc7.TTC7Protocol.logon(TTC7Protocol.java:266)
    at oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java:269)
    at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.java:375)
    at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:266)
    at java.sql.DriverManager.getConnection(DriverManager.java:512)
    at java.sql.DriverManager.getConnection(DriverManager.java:171)
    at testConnexion.methode2(testConnexion.java:88)
    at testConnexion.main(testConnexion.java:36)
    java.sql.SQLException: ORA-01017: invalid username/password; logon denied

    at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:170)
    at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:218)
    at oracle.jdbc.ttc7.O3log.receive2nd(O3log.java:517)
    at oracle.jdbc.ttc7.TTC7Protocol.logon(TTC7Protocol.java:266)
    at oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java:269)
    at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.java:375)
    at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:266)
    at java.sql.DriverManager.getConnection(DriverManager.java:512)
    at java.sql.DriverManager.getConnection(DriverManager.java:171)
    at testConnexion.methode2(testConnexion.java:88)
    at testConnexion.main(testConnexion.java:43)
    java.sql.SQLException: ORA-28000: the account is locked

    at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:170)
    at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:218)
    at oracle.jdbc.ttc7.O3log.receive2nd(O3log.java:517)
    at oracle.jdbc.ttc7.TTC7Protocol.logon(TTC7Protocol.java:266)
    at oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java:269)
    at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.java:375)
    at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:266)
    at java.sql.DriverManager.getConnection(DriverManager.java:512)
    at java.sql.DriverManager.getConnection(DriverManager.java:171)
    at testConnexion.methode1(testConnexion.java:62)
    at testConnexion.main(testConnexion.java:50)


    Constatation :
    Le programme fait 4 tentatives de connexion :

    La première tentative de connexion se déroule bien, des données sont affichées.

    La deuxième :
    invalid username/password;
    (Normal, mot de passe incoorect)

    La troisième :
    invalid username/password;
    (Normal, mot de passe incoorect)

    La quatrième :
    the account is locked
    (problème, le compte est déjà fermé alors que l'on a fait que 2 tentatives avec échecs. Cette quatrième tentative utilise la même méthode que la première tentative)
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. Connexion JDBC avec JBuilder9
    Par mboubidi dans le forum JBuilder
    Réponses: 3
    Dernier message: 04/03/2008, 14h45
  2. Pb de connexion JDBC avec Firebird 2.0
    Par Cassios dans le forum Connexion aux bases de données
    Réponses: 8
    Dernier message: 14/09/2006, 15h53
  3. Probleme de connexion JDBC avec une base de donne mysql
    Par sultan_kafila dans le forum JDBC
    Réponses: 19
    Dernier message: 12/04/2006, 08h25
  4. Réponses: 2
    Dernier message: 16/01/2006, 11h38
  5. pool de connexion jdbc avec apache
    Par de LANFRANCHI dans le forum Oracle
    Réponses: 9
    Dernier message: 24/01/2005, 16h34

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