Accueil > Forum > > > > Problème de Pilote Base de Données
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
|
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()"
|
|
Cette discussion est classée dans : données, gestionnaire, microsoft, pilote, pilotes
Répondre à ce message
Livres en rapport
|
Derniers Blogs
TECHDAYS PARIS 2010 : SHAREPOINT 2010 POUR LES DéVELOPPEURSTECHDAYS PARIS 2010 : SHAREPOINT 2010 POUR LES DéVELOPPEURS par ROMELARD Fabrice
Animé par: Laurent Cotton Le développement dans SharePoint 2010 passe par plusieurs axes qui seront évoqués dans cette session, mais plus particulièrement les développements simples lié au besoin Business Business Connectivity Services Ce BCS es...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2010 : PLEINIèRE DERNIER JOURTECHDAYS PARIS 2010 : PLEINIèRE DERNIER JOUR par ROMELARD Fabrice
Cette session est la dernière pleinière de ces 3 jours de TechDays Paris 2010. Généralement, cette troisième journée est plus axée sur l'avenir vu par Microsoft. Après un retour sur l'avenir vu par la Science Fiction ou par ...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice UNE JOLIE-HORLOGE ET PAS QU'UN PEU !UNE JOLIE-HORLOGE ET PAS QU'UN PEU ! par neodante
Pour les possesseurs d'iPhone, ça y est Bijin Tokei - qui se traduit littéralement en Français par " Jolie Horloge " - est arrivé et GRATUITEMENT s'il vous plaît ! Après la version Tokyo, Hokkaido, night club, racing, Gal, "pour les mademoiselles'", . voi...
Cliquez pour lire la suite de l'article par neodante TECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICESTECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICES par ROMELARD Fabrice
Animé par: Gaetan Bouveret et Julien Chomarat Business Connectivity Services (BCS) est dans SharePoint 2010 la version 2 de Business Data Catalog (BDC dans SharePoint 2007). Il s'agit de la solution permettant de visualiser des données provenan...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE[DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE par orion
Comme de nombreux geek, je suis un grand amateur de série TV et je rate régulièrement des épisodes de mes séries préférés. Une solution s'offre à vous avec ce merveilleux site : Tv Gorge - www.tvgorge.com Moteur de recherche à l'appui, vous pouvez ...
Cliquez pour lire la suite de l'article par orion
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
Comparez les prix

HTC Hero
Entre 550€ et 550€
|