begin process at 2012 02 15 03:37:25
  Trouver un code source :
 
dans
 
Accueil > Forum > 

JAVA / J2EE / J2ME

 > 

Divers

 > 

Débutant(e)

 > 

Problème de Pilote Base de Données


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Problème de Pilote Base de Données

jeudi 2 novembre 2006 à 22:29:54 | Problème de Pilote Base de Données

Maiku

Salut

Je débute en java, et j'essaye de travailler avec une base de données pour un projet, mais je me heurte à l'erreur suivante :

- Lorsque je compile le programme :

[Microsoft][Gestionnaire de pilotes ODBC] Source de données introuvable et nom de pilote non spécifié
[Microsoft][Gestionnaire de pilotes ODBC] Source de données introuvable et nom de pilote non spécifié

- Lorsque j'affiche un MsgBox avec l'erreur
java.lang.NullPointerException

Mon Code est le suivante :

[Microsoft][Gestionnaire de pilotes ODBC] Source de données introuvable et nom de pilote non spécifié
[Microsoft][Gestionnaire de pilotes ODBC] Source de données introuvable et nom de pilote non spécifié

Si quelqu'un peut m'aider?
Merci d'Avance
Maiku
vendredi 3 novembre 2006 à 14:42:23 | Re : Problème de Pilote Base de Données

lafolle24320

est ce que tu as créer ton lien ODBC?

lafolle

vendredi 3 novembre 2006 à 14:43:22 | Re : Problème de Pilote Base de Données

lafolle24320

et sinon avec plus de précision tu travailles avec quoi comme BD?

lafolle

vendredi 3 novembre 2006 à 22:56:04 | Re : Problème de Pilote Base de Données

Maiku

Salut

Dsl j'ai pas vu que j'avais oublié de mettre le code correspondant , le voila :

import java.net.*;
import java.sql.*;
import java.lang.*;
import java.io.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

 try
         {
              Objet = u1.ExecuterConnection();
              Resultat = u1.ExecuterRequeteSelect("Select NomAdr,Mdp From Adresse", Objet);
               while(Resultat.next())
               {
                this.Adr.addItem(Resultat.getString("NomAdr"));
                                         
               }
             this.Mdp.setText(Resultat.getString(2));
          }
        catch(Exception e)
        {
             //on cherche un objet de type Frame contenant l'applet
            Frame fr=null;
            Component parentCourant=this;
            while (parentCourant!=null && fr==null)
            {
          
                if (parentCourant instanceof Frame) fr=(Frame)parentCourant;
                else parentCourant=parentCourant.getParent();
            }
            MsgBox.affMsg(fr, e.toString());
         }


Il s'agit d'une base de données Acces.
Merci d'Avance
Maiku
dimanche 5 novembre 2006 à 17:02:12 | Re : Problème de Pilote Base de Données

lafolle24320


Bonjour,
oui çà ok. Mais il faut que tu crée ton lien ODBC avec le panneau de config /outils d'administration/Sources de données.
En fait le lien ODBC va permettre de transcrire tes requêtes/

bonne prog

lafolle

dimanche 5 novembre 2006 à 17:18:47 | Re : Problème de Pilote Base de Données

Maiku

Salut

Ben je l'ai fait pourtant.
Comme c'est la première fois que je faisais du java, en plus avec une base de données, j'avais vu un tutorial assez simple qui en parlait.
Cette étape y figurait, peut etre y a t il un problème dans le nom que j'ai mis alors .
Je regarderais ça et te tiendrais au courant si j'ai le net à mon appart, sinon je te dirais si c'est resolu mardi soir.

Maiku
mardi 7 novembre 2006 à 23:34:26 | Re : Problème de Pilote Base de Données

Maiku

Salut

Problème Résolu. Tu avais raison un problème dans le nom que j'avais précisé dans la souce Odbc.
Maintenant j'ai un autre problème : après ma première requete, je dois en executer une seconde, donc j'ai compris qu'il fallait fermer le resultSet pour executer une nouvelle requete, pourtant une erreur sql survient tjrs et me dit que le ResultSet est fermé, alors que j'utilise une nouvelle requete.

Je te met mon code :

 try
         {
               //On se connecte à la base de données
               Objet = u1.ExecuterConnection();
               Resultat = u1.ExecuterRequeteSelect("Select NomAdr From Adresse", Objet);
               while(Resultat.next())
               {
                      this.Adr.addItem(Resultat.getString("NomAdr"));
                                                       
               }
               Resultat.close();            
               Resultat = u1.ExecuterRequeteSelect("Select Mdp From Adresse where NomAdr="+this.Adr.toString(), Objet);
               while(Resultat.next())
               {
                    this.Mdp.setText(Resultat.getString("Mdp"));
               }
               Resultat.close();
              
         }   
        catch(Exception e)
        {
           
            MsgBox.affMsg(fr, e.toString());
         }

U1 correspond à un Objet de Type Base de données, une bibliothèque de classe que j'ai importé dans le Projet, voici le code des deux méthodes que j'utilise ainsi que ses attributs :

 // Les Attributs

         private String NomUrl="jdbc:odbc:";
         private Connection con = null;
         private ResultSet Resultat = null;

         public Statement ExecuterConnection()
         {
             Statement Objet=null;
           
             try
             {
                 Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance();
                 con = DriverManager.getConnection(NomUrl,"","");
                 Objet = con.createStatement();
                
             }
             catch(Exception e)
             {
               System.out.println(e.getMessage());
             }
             return Objet;
            
            
         }
         public ResultSet ExecuterRequeteSelect(String Requete,Statement Objet)
       { try
             {
                 Resultat = Objet.executeQuery(Requete);
                
             }
             catch(SQLException e)
             {
                 System.out.println(e.getNextException());
             }
             return Resultat;
           }

Si dans le code du projet, la connexion et l'oBjet Statement sont pas fermés, c'est parce qu'ils seront fermé lorsque l'utilisateur quittera l'application.
Merci de ton aide d'avance

Maiku

mercredi 8 novembre 2006 à 10:36:36 | Re : Problème de Pilote Base de Données

Vitty

Bonjour,

Ton problème vient de ton premier resultSet.close(). Tu ne peux ouvrir qu'un seul resultSet sur un même statement.

Tu devrais plutôt utiliser un statement par requête à exécuter : tu crées le statement, tu exécutes ta requête, tu traites le résultat de ta requête, et tu fermes ton statement.
Remarques :
- la fermeture de ton statement ferme implicitement ton resultSet,
- si tu ne fermes pas tes statements, tu risques d'avoir une erreur du type "nombre maximal de curseur atteint". A chaque ouverture de statement, tu ouvres un curseur sur la base. Le nombre total de curseur pouvant être ouvert est limité.

En espérant que ca puisse t'aider ;)

mercredi 8 novembre 2006 à 12:08:37 | Re : Problème de Pilote Base de Données

Maiku

Salut

Ben pourtant j'avais vu qu'on pouvait utiliser un ResultSet pour plusieurs requetes.
Si on doit récréer un Objet Statement à chaque fois, ca veut dire qu'on refait la connexion à la Base de Donnees non ?

On peut pas utiliser le même ResultSet pour toutes les Requetes donc ?
Merci d'Avance

Maiku
mercredi 8 novembre 2006 à 13:17:21 | Re : Problème de Pilote Base de Données

Vitty

Tu peux très bien utiliser un seul statement pour plusieurs requêtes :
Créer statement
requête 1
requête 2
Fermer statement
Mais dans ce cas, il ne faut pas fermer le ResultSet.

Ou sinon :
Créer statement 1
requête 1
Fermer statement 1
Créer statement 2
requête 2
Fermer statement 2

Si je reprends ton code :
con = DriverManager.getConnection(NomUrl,"","");  // création de la connexion
Objet = con.createStatement(); // création du statement

A chaque fois que tu crées un statement, tu n'es bien entendu pas obligé de recréer la connexion, mais pour ce faire, tu dois revoir ta méthode "public Statement ExecuterConnection()"


1 2

Cette discussion est classée dans : données, gestionnaire, microsoft, pilote, pilotes


Répondre à ce message

Sujets en rapport avec ce message

Probléme : Connection Base de données MySQL........ [ par kenza_sana ] Je doit faire une application en java avec une base de données MySql mais j'ai jamais utiliser MySql ....J'ia un code mais je ne sais pas aparement il ODBC - problème de tri [ par aishu ] Bonjour, Je vous explique mon problème... En fait, j'ai une base de données à laquelle j'accede via le Microsoft dBase driver (url = jdbc:odbc:DRIVER= ODBC - problème de tri [ par aishu ] Bonjour, Je vous explique mon problème... En fait, j'ai une base de données à laquelle j'accede via le Microsoft dBase driver (url = jdbc:odbc:DRIVER= Rechercher et télécharger des pilotes de bases de données [ par jdassault ] Je souhaite écrire un programme qui me permette d'établir la configuration d emon réseau local: exemple. tous les postes connectés chez moi avec leurs [Microsoft][Pilote ODBC Microsoft Access] Le nombre de valeurs de la requête doit coïncider avec le nombre de champs destination. [ par __def ] pour mettre a jour ma base de données Access j'ai utilisé le code suivant: try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); } Se connecter à une base de données MySQL depuis Microsoft Visual J# 2005 [ par marcdebureaux ] Bonjour,Ma question est simple : comment se connecter à une base de données MySQL depuis Microsoft Visual J# 2005 ?Je pose cette question car étant dé recuperer les données d'une Jtable dans un tableau de double [ par p3ace59 ] salut je debute en prog, dans ma JFrame j'ai une JTable qui ne contient que des doubles et je voudrai récupéré justement ces données dans un tableau d FCKeditor et base de données [ par titoo_91 ] Bonjour, Petit probleme avec FCKeditor. L'enregistrement dans une base MYSQL s'effectue correctement mais le probleme est au moment de la récupération Base de données et Netbeans [ par sourrisseau ] Encore un petite question comme dirait l'ami Colombo .....  Je souhaiterai utiliser des bases de données . J'ai essayé par 3 methodes . La premieres e stockage dans la base de données [ par nox0803 ] merci infiniment à toute personne faisant partie de ce forum.  je veux  bien savoir comment faire passer les valeurs des champs de l'interface java à


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,591 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales