connexion et echange de donnée avec base mysql - Java - Programmation
Marsh Posté le 08-12-2005 à 15:54:25
Toi c'est ton premier programme java ! ( je me trompe ?? )
l 18 : déclare ta connection en dehors du try
l 26 : manque l'import
l 27 : je me rappelle plus, et quand je me rappelle plus, je vais voir la javadoc...
l 29 : idem l 18.
Marsh Posté le 08-12-2005 à 16:39:42
Je viens de faire un nouvel essai en simplifiant au maximum mon code:
Code :
|
Cette fois il ne me fait pas d'erreur à la compilation, mais à l'execution il m'affiche Echec connexion.
J'utilise NetBeans, j'ai lu sur des forums que parfois il faut installer un driver:
j'ai telecharger celui ci: mysql-connector-java-3.0.17-ga mais je ne sais pas quoi en faire
Marsh Posté le 08-12-2005 à 17:11:31
white-rabbit a écrit : |
Une lecture de la doc s'impose.
Allez courage, je t'ai même trouvé un tutoriel en français : JDBC Tutoriel
Marsh Posté le 08-12-2005 à 17:20:17
ReplyMarsh Posté le 08-12-2005 à 17:44:55
alors en fait, j'ai un ptit doute concernant les outils que j'ai installé.
je me demande si j'ai bien tout mis.
j'ai down ici
http://developers.sun.com/prodtech/devtools/index.html -> NetBeans
https://jsecom15.sun.com/ECom/EComA [...] 9FD7925BC8 --> le jdk 1.5.0
C'est le dernier jdk, donc je suppose que JDBC est inclu dedans. Donc l'etape 2 suivante est ok normalement
Code :
|
etape 3 installer SGBD
ça je sais pas de quoi il s'agit.. s'agit il du serveur de bdd?
dans ce cas j'ai down easyphp1.8 j'ai une BDD qui tourne bien.
je fais tourner un forum phpBB dessus.
Je ne pense pas manquer d'outil donc. mais je prefere etre sur avant de m'y mettre.
Marsh Posté le 08-12-2005 à 18:00:36
System.out.println("Echec connection!!" ); |
Faut revoir les bases... Si tu ne log pas l'exception, comment savoir ce qu'il s'est passé ?
Marsh Posté le 08-12-2005 à 18:41:20
fallait que je mette System.out.println(ex);
je test ça dès demain.
merci pour la remarque sircam
Marsh Posté le 08-12-2005 à 20:05:50
white-rabbit a écrit : fallait que je mette System.out.println(ex); |
non, ex.printStackTrace(); pour voir tout les details de l'exception
as tu mis le jar qui contient le driver mysql dans ton classpath ?
(si ta reponse a cette question est "c'est quoi le classpath?" passe faire un tour par le topic debutant/topic classpath, si la reponse a ta question est "qu'est-ce qu'un driver jdbc?" c'est que tu n'as pas lu le tuto qui t'a ete donner dans ce topic-ci, si ta reponse est non, alors declare le jar dans ton classpath, si c'est oui, la on va pouvoir avancer)
Marsh Posté le 09-12-2005 à 10:23:19
salut souk
effectivement je n'avais pas copié le jar et l'erreur renvoyée à l'execution etait:
Code :
|
Je suis allé voir le topic debutant et le topic dédié au classpath et j'ai copié les jar de la librairie jdbc dans le repertoire lib de mon jdk, et ajouté au classpath de Netbeans.
Mais bref, toujours la meme erreur. je pensais que c'etait parce que j'avais pas reboot, mais pb se poursuit encore..
Une idée de ce que j'ai pu oublier?
j'vais essayer avec eclipse à tout hasard pour voir si c'est pas moi qui a merdé sous netbeans
edit: pareil sous eclipse en ayant ajouté tous les jars de ma lib jdbc.
pour info, voici les 3 *.jar que j'ai ajouté:
- mysql-connector-java-3.0.17-ga-bin.jar
- jdbc2_0-stdext.jar
- jta-spec1_0_1.jar
Marsh Posté le 09-12-2005 à 10:34:00
bon, as tu lu le tuto qu'on t'as donné ? notament la partie 3.1 intitulée "3.1 Charger les pilotes." ? tout est expliqué dans ce tuto ... et un conseil, ne copie pas les jar dans le repertoire lib de ton JDK, c'est une mauvaise habitude, il suffit de les declarer dans le classpath
Marsh Posté le 09-12-2005 à 11:35:49
c'est bon j'ai reussi !!!
je vais manipuler un peu tout ça maintenant.
merci bcp pour votre aide et patience !
Marsh Posté le 12-12-2005 à 16:53:29
c'est bon j'ai pu arriver au but que je m'etais donner.
je peux maintenant ecrire lire, faire des recherches, tri, reset, dans ma base de donnée utilisateur.
je suis ravi.
merci beaucoup à tout ceux qui m'ont aidé.
maintenant mon but est de faire tourner sur plusieurs machines ce programme java, en se connectant sur la base mysql d'un serveur sur le reseau.
pour commencer j'ai juste essayé de changer dans mon code l'url localhost par l'ip de ma machine.
voici le resultat que j'ai lorsque j'execute sur ma propre machine, là où tourne le serveur mysql
Code :
|
Vous pensez que ça pourrait se bloquer suite à un firewall sur ma machine?
Marsh Posté le 12-12-2005 à 17:22:55
Oui, c'est le message d'erreur typique quand un proxy/firewall refuse la connexion
Marsh Posté le 12-12-2005 à 17:25:42
Sans doute ta DB n'accepte pas les connections en remote, donc autre que 'localhost'. Consulte la doc du DBMS à ce sujet et fais une recherche sur ce forum : ça revient souvent.
Ensuite, quand tu catches une SQLException plutôt que la générique Exception, tu disposes de précieuses infos supplémentaires : code d'erreur vendeur (donc renvoyé par le DBMS) et exceptions chaînées éventuelles. Cf. javadoc.
Marsh Posté le 12-12-2005 à 17:26:26
j'ai pourtant desactivé le firewall de XP. je ne pense pas que le reseau de mon entreprise puisse jouer là dessus, non ? pour des tests sur ma propre machine...
Marsh Posté le 14-12-2005 à 16:59:52
c'est bon ça fonctionne parfaitement maintenant. mon pb venait de mon serveur mysql qui n'ecoutait pas sur le port. à cause de easyphp qui simplifie unpeu trop tout.
Marsh Posté le 08-12-2005 à 15:37:42
Salut
Je viens de créer une base mysql sur mon poste avec les propriétés suivantes:
Serveur: localhost
Base: dbtest
Table: user
User: admin
Pass: admin1
j'ai manuellement via phpMyAdmin ajouté 2 utilisateurs dans ma table user.
la table user possède 4 champs text avec nom prenom pseudo ville.
maintenant mon but est de me connecter à cette table via un programme java.
pas d'interface graphique, je souhaite juste faire des essais rapides.
voici le code que j'utilise pour me connecter à la base et y envoyer une donnée placée manuellement dans le code.
Sauf que là j'ai des erreurs qui sont montrées par netbeans:
ligne 18 : can't find symbol, symbol variable con
ligne 26 : can't find symbol, symbol class ResultSet
ligne 27 : incompatible types, found java.sql.ResultSet, required int
ligne 29 : can't find symbol, symbol variable con
Vous avez une idée?
Merci