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 :

probleme connexion JDBC [Débutant(e)]


Sujet :

JDBC Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    ms7
    ms7 est déconnecté
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2005
    Messages : 114
    Par défaut probleme connexion JDBC
    Salut,

    je debute avec Java et JDBC et g un pti souci...je vais essayer d´etre claire.

    Voila g deux fichiers. Dans le premiers g les methodes suivantes:
    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
     
    /**
    * Methode qui lit le fichier Connection.properties dans lequel il y les  *parametres de connexion.
    */
      private Properties loadParams(String file) throws IOException {
    try{
    // Loads a ResourceBundle and creates Properties from it
        Properties prop = new Properties();
        ResourceBundle bundle = ResourceBundle.getBundle(file);
        Enumeration enumumeration = bundle.getKeys();
        String key = null;
        while(enumumeration.hasMoreElements()) {
          key = (String)enumumeration.nextElement();
          prop.put(key, bundle.getObject(key));
        }}
    catch(Exception ex) { // Trap IO errors
    gui.putStatus("Error in reading the properties file "+'\n'+ex.toString());
    }  
    return prop;
      }
    ensuite je fais ma connections
    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 Connection dbConnection() throws Exception{
    try {
          gui.putStatus("Trying to connect to the Database");
     
          // Load the properties file to get the connection information
          Properties prop = loadParams("Connection");
     
          // Create a OracleDataSource instance
          OracleDataSource ods = new OracleDataSource();
     
          // Sets the driver type
          //ods.setDriverType("thin");
     
          // Sets the database server name
          ods.setServerName((String)prop.get("HostName"));
     
          // Sets the database name
          ods.setDatabaseName((String)prop.get("SID"));
     
          // Sets the port number
          ods.setPortNumber(new Integer((String)prop.get("Port")).intValue());
     
          // Sets the user name
          ods.setUser((String)prop.get("UserName"));
     
          // Sets the password
          ods.setPassword((String)prop.get("Password"));
     
          connection = ods.getConnection();
          gui.putStatus("Connected to " + prop.get("SID") +
                      " Database as " + prop.get("UserName")+". Please click on SELECT"+
                        " button to view records");
     
    }
    catch(Exception ex) { // Trap SQL errors
    gui.putStatus("Error in Connecting to the Database "+'\n'+ex.toString());
    }
    return connection;
     }
    ....mais cette partie du code appel une autre classe : OracleDataSource dans laquelle je dois implementer les methode suivantes....
    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
     
    public class OracleDataSource {
     public OracleDataSource() {
    /*	try {
    //	 Loading JDBC driver
    	Class.forName("com.mysql.jdbc.Driver");
    //	 connection url
    	String HostName = "jdbc:mysql://localhost:3306/test";
    	 String UserName = "root";
         String Password = "hello";
    //	 Connexion
    	Connection con = DriverManager.getConnection(HostName, UserName, Password);	
     
    //	 Création d'une instruction
    	Statement statement = con.createStatement();
    //	 Query
    	String query = "SELECT * FROM otn_airlines";
    	ResultSet resultset = statement.executeQuery(query);
    //	 Show results
    	while(resultset.next()) {
    	System.out.println(resultset.getString(1) + " " + resultset.getString(2) + " " + resultset.getString(3));
    	}
    //	 close connection
    	con.close();
    	}
    	catch( ClassNotFoundException e) {
    	System.err.println("Erreur JDBC driver : " + e);
    	}
    	catch(SQLException sqle) {
    	System.err.print("SQL error : " + sqle);
    	}
            //return con;    
    	}
    //}
    	public static void main(String[] args) {
    	OracleDataSource oracledatasource = new OracleDataSource();
    	}
    }
     */     
     
     }
     
     
        public void setServerName(String string) {
            throw new UnsupportedOperationException("Not yet implemented");
        }
     
        public void setDatabaseName(String string) {
            throw new UnsupportedOperationException("Not yet implemented");
        }
     
        public void setPortNumber(int i) {
            throw new UnsupportedOperationException("Not yet implemented");
        }
     
        public void setUser(String string) {
            throw new UnsupportedOperationException("Not yet implemented");
        }
     
        public void setPassword(String string) {
            throw new UnsupportedOperationException("Not yet implemented");
        }
     
       public Connection getConnection() {
            return null;
        }
    }
    Comment configurer ces methodes??? Merci

  2. #2
    Membre Expert
    Avatar de fabszn
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2002
    Messages
    974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Mars 2002
    Messages : 974
    Par défaut
    Hello,

    Pas très clair ton post!

    Tu essayes d'implementer une DataSource (normalement Oracle dois te fournir une implementation de cette interface) ou juste faire une connexion JDBC à ue base...



    Si tu es dans le 2eme cas : Je te conseille de lire le FAQ JDBC..

    http://java.developpez.com/faq/jdbc/

    Tu verras que tu n'as pas besoin d'implementer une datasource pour une simple connexion JDBC.

    J'espere que cela t'aidera, si tu as des questions n'hesites pas!

  3. #3
    ms7
    ms7 est déconnecté
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2005
    Messages : 114
    Par défaut
    Desole....

    Oui je veux juste faire une connexion JDBC mais lorsque je lance mon application g une erreur de type

    java.lang.NullPointerException

    voici mon fichier OracleDataSource (le nom n´a pas d´importance, je travaille avec une base MySQL)...

    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
     
    package oracle.jdbc.pool;
    import java.sql.*;
    import java.lang.*;
     
    public class OracleDataSource {
       String ServerName="localhost";
       String SID="test";
       int PortNumber=3306;
       String UserName="root";
       String Password="hello";
       String DriverType="thin";
     
        private Connection connection= null;;
     
     
        public String setServerName(String string) {
              return ServerName;
        }
     
        public String setDatabaseName(String string) {
              return SID;
        }
     
        public int setPortNumber(int i) {
            return PortNumber;
        }
     
        public String setUser(String string) {
            return UserName;
        }
     
        public String setPassword(String string) {
             return Password;
        }
     
       public Connection getConnection() {
           try{
     
            Class.forName("com.mysql.jdbc.Driver");
            connection=DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root", "hello");
            }
            catch(Exception e){
                System.out.println("Failed to get connection");
                e.printStackTrace();
            }
         return connection;
       }
     
        public String setDriverType(String string) {
            return DriverType;
        }
     
    }
    G une autre fichier (DMLFrame) qui doit m´afficher le contenu dßune table dans une JTable, mais je n´y arrive pas....Pourtant la connexion est bien etablie dans OracleDataSource....

  4. #4
    Membre Expert
    Avatar de fabszn
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2002
    Messages
    974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Mars 2002
    Messages : 974
    Par défaut
    Hello,

    Est ce que tu pourrais poster la pile d'exception..
    Car là tu me donne juste le nom de l'exception...et il faudrait savoir ou est ce que cette exception est levée..

    1ere chose est ce que tous tes champs sont correctement initialisées?

    Tu devrais mettre des tracers pour voir sur quelle ligne plante ton prog.

  5. #5
    Rédacteur
    Avatar de benwit
    Profil pro
    dev
    Inscrit en
    Septembre 2004
    Messages
    1 676
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : dev

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1 676
    Par défaut
    Citation Envoyé par ms7
    voici mon fichier OracleDataSource (le nom n´a pas d´importance, je travaille avec une base MySQL)...

    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
     
    package oracle.jdbc.pool;
    import java.sql.*;
    import java.lang.*;
     
    public class OracleDataSource {
       String ServerName="localhost";
       String SID="test";
       int PortNumber=3306;
       String UserName="root";
       String Password="hello";
       String DriverType="thin";
     
        ....
     
    }
    Un truc m'échappe ou tu me fais peur !!!
    Tu veux te connecter à une base MySQL et j'ai l'impression que tu modifies un fichier java d'oracle (package oracle.jdbc.pool)

    Si tu te connectes à une base mySQL, rien de plus simple :
    - tu télécharges les drivers JDBC chez MySQL
    http://dev.mysql.com/get/Downloads/C...ftp.mysql.com/
    - tu l'installes dans ton environnement de développement de manière à ce que le fichier mysql-connector-java-3.1.10-bin.jar contenu dans le zip soit dans ton classpath.
    - tu te connectes avec le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
           try
           {
                    Class.forName("com.mysql.jdbc.Driver");
    connection=DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root","hello");
           }
           catch(Exception e)
           {
                System.out.println("Failed to get connection");
                e.printStackTrace();
           }
    et rouler jeunesse ...

  6. #6
    Membre Expert
    Avatar de fabszn
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2002
    Messages
    974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Mars 2002
    Messages : 974
    Par défaut
    Citation Envoyé par benwit
    Citation Envoyé par ms7
    voici mon fichier OracleDataSource (le nom n´a pas d´importance, je travaille avec une base MySQL)...

    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
     
    package oracle.jdbc.pool;
    import java.sql.*;
    import java.lang.*;
     
    public class OracleDataSource {
       String ServerName="localhost";
       String SID="test";
       int PortNumber=3306;
       String UserName="root";
       String Password="hello";
       String DriverType="thin";
     
        ....
     
    }
    Un truc m'échappe ou tu me fais peur !!!
    Tu veux te connecter à une base MySQL et j'ai l'impression que tu modifies un fichier java d'oracle (package oracle.jdbc.pool)

    Si tu te connectes à une base mySQL, rien de plus simple :
    - tu télécharges les drivers JDBC chez MySQL
    http://dev.mysql.com/get/Downloads/C...ftp.mysql.com/
    - tu l'installes dans ton environnement de développement de manière à ce que le fichier mysql-connector-java-3.1.10-bin.jar contenu dans le zip soit dans ton classpath.
    - tu te connectes avec le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
           try
           {
                    Class.forName("com.mysql.jdbc.Driver");
    connection=DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root","hello");
           }
           catch(Exception e)
           {
                System.out.println("Failed to get connection");
                e.printStackTrace();
           }
    et rouler jeunesse ...
    Hello,

    A priori c'est ce qu'il fait.
    Maintenant, il faudrait qu'il nous montre ca pile d'exception ou qu'il nous indique là ou la nullepointerException est levée..

    Par contre c'est vrai que le nom de package que tu utilises
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    package oracle.jdbc.pool;
    et le nom de ta classe ne sont pas très cohérent!

Discussions similaires

  1. probleme de connexion jdbc odbc
    Par Chromatic dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 20/02/2007, 23h37
  2. 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
  3. Probleme connexion a phpPgAdmin
    Par grobin87 dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 25/05/2004, 21h16
  4. Problème connexion speedtouch
    Par infotron dans le forum Réseau
    Réponses: 6
    Dernier message: 07/05/2004, 17h53
  5. connexion jdbc
    Par champion dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 03/04/2004, 08h09

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