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 :

Accès base de données


Sujet :

JDBC Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Profil pro
    Développeur Java
    Inscrit en
    Octobre 2011
    Messages
    137
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Octobre 2011
    Messages : 137
    Par défaut Accès base de données
    Bonjour chez Collègues !

    Un petit soucis dès la lundi matin, comme si c'est pas malheureux.

    Voici mon code de la classe Test :

    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
    package PackageRequete;
     
    import java.sql.SQLException;
     
    public class Test {
     
     
    	public static void main (String[] args) throws SQLException, ClassNotFoundException{
     
    		String pilote = "sun.jdbc.odbc.JdbcOdbcDriver";
    		Class.forName(pilote); 
    		DataBase bdd = new DataBase("java:comp/env/jdbc://1.0.0.6", "TRB01R", "TRB01R");
     
    	}
     
     
     
     
    }

    et pour ma classe DataBase :

    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
    package PackageRequete;
     
    import java.sql.*;
     
    public class DataBase {
     
     
    	public DataBase(String url, String login, String pass) throws SQLException {
     
    		Connection connection = DriverManager.getConnection(url, login, pass);
    		Statement stt = connection.createStatement();
    		ResultSet resultat = stt.executeQuery("SELECT * FROM UB001V010 ;");
     
    		while(resultat.next()){
    			String date = resultat.getString("DAT");
    			String heure = resultat.getString("HEUR");
    			String code_exp= resultat.getString("CODE_EXP");
    			String exp = resultat.getString("EXPEDITEUR");
    			String ref = resultat.getString("REFERENCE");
    			int typ = resultat.getInt("TYP");
    			int statut = resultat.getInt("STATUT");
     
    			System.out.println(date + "|" + heure + "|" + code_exp + "|" + exp + "|" + ref + "|" + typ + "|" + statut);
    		}
     
    	}
     
     
    	public void main (String[] args) throws SQLException{
     
     
    	}
     
     
    }

    Voici l'erreur :

    Exception in thread "main" java.sql.SQLException: No suitable driver found for jdbc:comp://1.0.0.6
    at java.sql.DriverManager.getConnection(Unknown Source)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at PackageRequete.DataBase.<init>(DataBase.java:10)
    at PackageRequete.Test.main(Test.java:12)


    Pourtant j'ai téléchargé le driver à la bonne adresse.

    Pourquoi ça ne fonctionne pas sachant que j'ai installé le pilote au bon endroit ?

  2. #2
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,

    Citation Envoyé par Baboulinet_ Voir le message
    Pourtant j'ai téléchargé le driver à la bonne adresse.
    Quel drivers ???

    Citation Envoyé par Baboulinet_ Voir le message
    Pourquoi ça ne fonctionne pas sachant que j'ai installé le pilote au bon endroit ?
    C'est à dire ???

    a++

  3. #3
    Membre très actif
    Profil pro
    Développeur Java
    Inscrit en
    Octobre 2011
    Messages
    137
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Octobre 2011
    Messages : 137
    Par défaut
    Je suis stupide, j'ai téléchargé le driver mysql connector ... pour jdbc j'adore.

    Le site d'Oracle étant en maintenance, aurais tu une idée où je pourrais trouver un driver correspondant à mon soucis adiGuba stp ?

    Edit : il n'est plus en maintenance je suppose donc que je dois télécharger le premier de la liste :

    http://www.oracle.com/technetwork/da...ex-091264.html

  4. #4
    Membre très actif
    Profil pro
    Développeur Java
    Inscrit en
    Octobre 2011
    Messages
    137
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Octobre 2011
    Messages : 137
    Par défaut
    En fait non, je suis stupide d'avoir été stupide puisque je l'avais déjà téléchargé ...

    Bref j'ai toujours l'erreur :

    Exception in thread "main" java.sql.SQLException: No suitable driver found for java:comp/env/jdbc://1.0.0.6
    at java.sql.DriverManager.getConnection(Unknown Source)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at PackageRequete.DataBase.<init>(DataBase.java:10)
    at PackageRequete.Test.main(Test.java:12)


    Cette erreur apparait lorsque je lance mon test :

    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
    package PackageRequete;
     
    import java.sql.SQLException;
     
    public class Test {
     
     
    	public static void main (String[] args) throws SQLException, ClassNotFoundException{
     
    		String pilote = "sun.jdbc.odbc.JdbcOdbcDriver";
    		Class.forName(pilote); 
    		DataBase bdd = new DataBase("java:comp/env/jdbc://1.0.0.6", "TRB01R", "TRB01R");
     
    	}
     
     
     
     
    }

  5. #5
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Mais... Tu utilises quoi comme BD et comme drivers ?

    Tu parles de Mysql et d'Oracle 11g... mais tu charges le driver ODBC !?


    De plus je ne vois pas du tout à quoi correspond ton url de connexion...


    a++

  6. #6
    Membre très actif
    Profil pro
    Développeur Java
    Inscrit en
    Octobre 2011
    Messages
    137
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Octobre 2011
    Messages : 137
    Par défaut
    En fait je récupères le travail de quelqu'un qui n'est pas là (arrêt maladie)

    Mon chef de projet m'a proposé pour commencer à m'entraîner sur une base de données test AS400.

    J'ai récupéré dans un fichier d'accès à la base de données de cette personne :

    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
    package com.cerpbn.extranet.bdd;
     
    /**
     * @author therve
     *
     * To change the template for this generated type comment go to
     * Window - Preferences - Java - Code Generation - Code and Comments
     */
     
    import com.cerpbn.extranet.commun.Cnf;
    import com.cerpbn.extranet.commun.Log;
     
    import javax.naming.Context;
    import javax.naming.InitialContext;
    import javax.naming.NamingException;
    import javax.sql.DataSource;
    import java.sql.Connection;
    import java.sql.SQLException;
    import java.sql.Statement;
     
    public class ConnexionDataBase {
        public Connection con = null;
        public Statement queryStatement = null;
        public Log log = Log.getInstance();
        public Cnf cnf = Cnf.getInstance();
        public Context ctx = null;
        private DataSource ds = null;
     
     
        public ConnexionDataBase(String nomDataBase) {
            String envDatabase = new String("java:comp/env/jdbc/");
     
            try {
                ctx = new InitialContext();
     
     
            } catch (NamingException naming) {
                log.error("Impossible de créer une variable Context (pro)");
            }
     
            try {
                ds = (DataSource) ctx.lookup(envDatabase.concat(nomDataBase));
                try {
                    /*
                             ds.getLogWriter().println("init0");
                             ds.setLogWriter(new PrintWriter(new FileOutputStream(nomDataBase+".log")) );
             //                ds.setLogWriter(new PrintWriter(new PrintWriter(System.out, true) ));
                             ds.getLogWriter().println("Init1");
                    */
                } catch (Exception e) {
                    e.printStackTrace();  //To change body of catch statement use Options | File Templates.
                }
            } catch (NamingException naming) {
                log.error("Impossible de créer une variable DataSource (pro)");
            }
        }
     
        public Connection getConnection() {
            try {
                con = ds.getConnection();
            } catch (SQLException sqle) {
                log.error("Impossible d'ouvrir une connexion du pool (pro)");
                log.error("-->" + sqle.getMessage());
                log.error("-->" + sqle.getStackTrace());
            }
            return con;
        }
     
    public boolean closeConnection() {
            try {
                con.close();
                con = null;
                return true;
            } catch (SQLException sqle) {
                log.error("Impossible de rendre la connexion au pool (pro)");
                log.error("-->" + sqle.getMessage());
                log.error("-->" + sqle.getStackTrace());
                con = null;
                return false;
            }
        }
     
        public void destroy() {
            // on detruit les objets datasource et context en les initialisant Ã* null
            ds = null;
            try {
                ctx.close();
                ctx = null;
            } catch (NamingException name) {
                log.error("Impossible de fermer l'objet context (pro)");
                log.error("-->" + name.getMessage());
                log.error("-->" + name.getStackTrace());
                ctx = null;
            }
        }
    }
    J'en ai déduis que j'étais sur une base de données de type jdbc en accès.
    L'url de connexion est l'adresse ip de la base de données test du serveur AS400.

Discussions similaires

  1. Accès Base de données Access
    Par vincent magnin dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 28/06/2006, 13h09
  2. Problème accès base de données
    Par alainconnu dans le forum Outils
    Réponses: 3
    Dernier message: 27/04/2006, 10h31
  3. [PHPMyAdmin] Accès base de donnée pour utilisateur
    Par nicodeme dans le forum Outils
    Réponses: 2
    Dernier message: 04/03/2006, 02h10
  4. [C#]Global.asax et accès base de données.
    Par R'SKaP dans le forum ASP.NET
    Réponses: 13
    Dernier message: 26/01/2006, 16h00
  5. [Kylix] Kylix et accès Base de données
    Par Oyoboy dans le forum EDI
    Réponses: 16
    Dernier message: 22/06/2004, 17h41

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