[JDBC] Installation et fonctionnement du driver avec MySQL

Installation et fonctionnement du driver avec MySQL [JDBC] - Java - Programmation

Marsh Posté le 16-01-2004 à 22:02:59    

Bonsoir à tous.
 
Voilà, j'ai parcouru longuement ce forum à la recherche d'info que je n'ai pas trouvé !
 
J'essaye d'utiliser JDBC sous Tomcat pour accéder à une SGBD MySQL et donc j'ai téléchargé le Driver JAR ... mais là, le truc que je n'arrive pas à comprendre, c'est comment faire exactement pour qu'il soit repéré et utilisé par Tomcat lorsque je charge une page *.jsp pour accéder à la base de données (Exception : No suitable Driver). Je sais qu'il faut renseigner dans le CLASSPATH le chemin complet comprenant le fichier JAR, mais j'ai pas compris.
 
Si une personne aimable voudrait bien prendre de son temps pour m'expliquer un peu tout ça, ça serait sympa !
 
Bonne soirée !

Reply

Marsh Posté le 16-01-2004 à 22:02:59   

Reply

Marsh Posté le 16-01-2004 à 22:17:04    

ça fait un moment, mais il me semble que tu peux spécifier le driver par une propriété système. -Ddriver=... il me semble (en plus de taper le jar dans le classpath)
 
rien avec google ? ce serait étonnant... :o


---------------
As the plane took off, the pilot turned to the co-pilot and said, “Have you ever flown solo?” Co-pilot: No. Typically I fly much higher than this.
Reply

Marsh Posté le 16-01-2004 à 22:17:04    

y'a encore eu un topic a ce sujet y'a pas  2 jours [:kiki]


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 16-01-2004 à 22:17:16    

sous tomcat, pour qu'un jar soit dans le class path, il suffit de l'ajouter dans le répertoire /WEB-INF/lib de ta web-app.
 
Ensuite tu pourra charger le driver en faisant le Class.forName("la.class.du.driver.dont.je.ne.me.souviens.plus.du.Nom" ); et ca rulez


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 16-01-2004 à 22:18:03    

TBone a écrit :

ça fait un moment, mais il me semble que tu peux spécifier le driver par une propriété système. -Ddriver=... il me semble (en plus de taper le jar dans le classpath)


??  
 
je connait pas ce truc là ...  


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 16-01-2004 à 22:18:14    

TBone a écrit :

ça fait un moment, mais il me semble que tu peux spécifier le driver par une propriété système. -Ddriver=... il me semble (en plus de taper le jar dans le classpath)

si ça existe effectivement c'est ni le plus simple ni le plus souple
 
 
tain mais en plus y'a tout dans les 5 premieres lignes de la doc qui est sur la meme page que le d/l du driver quoi [:kiki]


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 16-01-2004 à 22:18:42    

benou t'es trop bon  :pfff:


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 16-01-2004 à 22:19:03    

benou a écrit :


??  
 
je connait pas ce truc là ...  

ptet un truc spécifique a une appli sur laquelle il a bossé :D


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 16-01-2004 à 22:19:51    

the real moins moins a écrit :

benou t'es trop bon  :pfff:


ben ouais mais en même temps, toi tu l'aides pas bcp ... si tu sais où est l'info, files lui le lien et demande lui de chercher un peu mieux le prochain coup [:spamafote]


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 16-01-2004 à 22:20:15    

real -- > effectivement c'est pô le plus souple :)
 
n'empêche j'ai dû lire ça dans la doc mysql en 2 clicks -> footage de jeules inside :whistle: (envers duga315 hein ;) )


Message édité par TBone le 16-01-2004 à 22:20:47

---------------
As the plane took off, the pilot turned to the co-pilot and said, “Have you ever flown solo?” Co-pilot: No. Typically I fly much higher than this.
Reply

Marsh Posté le 16-01-2004 à 22:20:15   

Reply

Marsh Posté le 16-01-2004 à 22:20:18    

the real moins moins a écrit :

ptet un truc spécifique a une appli sur laquelle il a bossé :D


y a des chance parce qu'en plus "Driver" c'est un peu vague comme nom de propriété :/


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 16-01-2004 à 22:22:29    

euh maintenant que real -- le souligne c'est p'têt bien ça...
chuis con :D
votre honneur, pour ma défense, ça fait un bail. :whistle:


---------------
As the plane took off, the pilot turned to the co-pilot and said, “Have you ever flown solo?” Co-pilot: No. Typically I fly much higher than this.
Reply

Marsh Posté le 16-01-2004 à 22:23:38    

benou a écrit :


ben ouais mais en même temps, toi tu l'aides pas bcp ... si tu sais où est l'info, files lui le lien et demande lui de chercher un peu mieux le prochain coup [:spamafote]

ben j'ai aps que ça a faire à chercher le lien non plus


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 16-01-2004 à 22:24:05    

TBone a écrit :

euh maintenant que real -- le souligne c'est p'têt bien ça...
chuis con :D
votre honneur, pour ma défense, ça fait un bail. :whistle:

:lol:


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 16-01-2004 à 22:27:04    

pour me rattraper: google, 2 secondes:  
http://triton.towson.edu/~schmitt/java/jdbc/
 
real--> spa marrant, fatigué et c'est loin ;)


---------------
As the plane took off, the pilot turned to the co-pilot and said, “Have you ever flown solo?” Co-pilot: No. Typically I fly much higher than this.
Reply

Marsh Posté le 16-01-2004 à 22:34:17    

the real moins moins a écrit :

ben j'ai aps que ça a faire à chercher le lien non plus


ben vu que tu connaissais le numéro de la ligne où y avait la réponse, j'imagine que tu étais dessus [:kiki]


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 16-01-2004 à 22:58:11    

?? le n° de la ligne??  
non je me souviens juste qu'il y a eu un topic la dessus cette semaine, c tout :??:


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 16-01-2004 à 23:00:08    

the real moins moins a écrit :

?? le n° de la ligne??


the real moins moins a écrit :

y'a tout dans les 5 premieres lignes de la doc qui est sur la meme page que le d/l du driver quoi [:kiki]


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 16-01-2004 à 23:50:00    

Merci bien pour votre aide ! Je vais regarder ça sous peu ! :)

Reply

Marsh Posté le 17-01-2004 à 01:16:19    

ha ben simplement parce que l'autre jour avec l'autre topic sur le driver mysql, je suis allé voir sur le site de mysql, en 2 clicks t'as le driver, un 3 pour la doc, et je me rappelle que dans le 1er § ou a peu pres y'a un micro-example de code pour se connecter à une base mysql [:spamafote]


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 23-01-2004 à 12:55:04    

Merci à tous pour votre aide, le problème a été résolu. J'avais mis :
 
jdbc:mysql:maDB://localhost/
 
au lieu de
 
jdbc:mysql://localhost/maDB
 
...

Reply

Marsh Posté le 25-01-2004 à 15:24:52    

public boolean connection() {
    try
    {
      if(!isConnected){
        Class.forName("com.mysql.jdbc.Driver" ).newInstance();
        System.out.println("jdbc:mysql://" + Host + ":" + port + "/" + db +
                           "?user=" + user + "&password=" + passwd);
        dbConnection = DriverManager.getConnection("jdbc:mysql://" + Host + ":" +
            port + "/" + db + "?user=" + user + "&password=" + passwd);
        dbStatement = dbConnection.createStatement();
        System.out.println("Connexion à la base de données" );
        isConnected = true;
        return true;
      }
      return false;
    }
    catch(Exception ex)
    {
      ex.printStackTrace();
      return false;
    }

Reply

Marsh Posté le 26-01-2004 à 08:22:45    

Merci

Reply

Marsh Posté le 17-12-2004 à 17:54:36    

duga315 a écrit :

Merci à tous pour votre aide, le problème a été résolu. J'avais mis :
 
jdbc:mysql:maDB://localhost/
 
au lieu de
 
jdbc:mysql://localhost/maDB
 
...


 
Moi je n'arrive pas a ouvrir une connection sur ma base de donnée
voici l'erreur que j'obtiens quelqu'un a une idée??
je suis sous Eclipse/tomcat

Code :
  1. javax.servlet.ServletException: Unable to connect to any hosts due to exception: java.security.AccessControlException: access denied (java.net.SocketPermission 127.0.0.1:3306 connect,resolve)
  2. ** BEGIN NESTED EXCEPTION **
  3. java.security.AccessControlException
  4. MESSAGE: access denied (java.net.SocketPermission 127.0.0.1:3306 connect,resolve)
  5. STACKTRACE:
  6. java.security.AccessControlException: access denied (java.net.SocketPermission 127.0.0.1:3306 connect,resolve)
  7. at java.security.AccessControlContext.checkPermission(AccessControlContext.java:269)
  8. at java.security.AccessController.checkPermission(AccessController.java:401)
  9. at java.lang.SecurityManager.checkPermission(SecurityManager.java:524)
  10. at java.lang.SecurityManager.checkConnect(SecurityManager.java:1026)
  11. at java.net.Socket.connect(Socket.java:446)
  12. at java.net.Socket.connect(Socket.java:402)
  13. at java.net.Socket.<init>(Socket.java:309)
  14. at java.net.Socket.<init>(Socket.java:124)
  15. at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:124)
  16. at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:225)
  17. at com.mysql.jdbc.Connection.createNewIO(Connection.java:1783)
  18. at com.mysql.jdbc.Connection.<init>(Connection.java:450)
  19. at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:411)
  20. at java.sql.DriverManager.getConnection(DriverManager.java:512)
  21. at java.sql.DriverManager.getConnection(DriverManager.java:193)
  22. at org.apache.jsp.sqlConnector_jsp._jspService(sqlConnector_jsp.java:56)
  23. at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:92)
  24. at javax.servlet.http.HttpServlet.service(HttpServlet.java:809)
  25. at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:162)
  26. at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:240)
  27. at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:187)
  28. at javax.servlet.http.HttpServlet.service(HttpServlet.java:809)
  29. at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:200)
  30. at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:51)
  31. at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:129)
  32. at java.security.AccessController.doPrivileged(Native Method)
  33. at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:125)
  34. at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:209)
  35. at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
  36. at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
  37. at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
  38. at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:144)
  39. at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
  40. at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
  41. at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
  42. at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2350)
  43. at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:133)
  44. at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
  45. at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:118)
  46. at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
  47. at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:116)
  48. at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
  49. at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
  50. at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
  51. at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:127)
  52. at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
  53. at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
  54. at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
  55. at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:152)
  56. at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
  57. at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
  58. at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
  59. at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
  60. at java.lang.Thread.run(Thread.java:534)


 
merci d'avance

Reply

Marsh Posté le 18-12-2004 à 10:56:37    

As tu mentionné le user et le mot de passe ?

Reply

Marsh Posté le 19-12-2004 à 23:31:14    

phnatomass a écrit :

As tu mentionné le user et le mot de passe ?


visiblement c'est plutot une erreur réseau : le problême se pose dans le Socket.connect()
 
je pencherais sur une mauvaise config du java.policy, même si ca me parait assez inhabituel ...


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 19-12-2004 à 23:39:07    

en cherchant un peu sur google, je vois qu'il y a un catalina.policy qui rentre en jeu aussi. j'ai jamais touché à ce truc là ...
 
http://forum.java.sun.com/thread.j [...] ID=1963148
solution en bas de page ?


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 19-12-2004 à 23:44:26    

y a des lignes intéressantes en fin du catalina.properties :  


// The permission granted to your JDBC driver
// grant codeBase "jar:file:${catalina.home}/webapps/examples/WEB-INF/lib/driver.jar!/-" {
//      permission java.net.SocketPermission "dbhost.mycompany.com:5432", "connect";
// };


donc visiblement, c'est normal qu'une servlet ne puisse pas ouvrir de connexion vers une base de donnée ...
 
c'est peut être depuis tomcat5 : j'ai jamais été embété avec ca moi ...  [:mlc]


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 20-12-2004 à 00:17:05    

benou a écrit :


donc visiblement, c'est normal qu'une servlet ne puisse pas ouvrir de connexion vers une base de donnée ...
 
c'est peut être depuis tomcat5 : j'ai jamais été embété avec ca moi ...  [:mlc]


 
non, je l'ai fais dernièrement moi avec tomcat 5.5 [:spamafote]
 
(mysql aussi)


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
Reply

Marsh Posté le 20-12-2004 à 09:04:52    

executeQuery c'est pour les requêtes de type SELECT. faut utiliser execute ou executeUpdate pour faire des modifs sur les données de la bdd.


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 20-12-2004 à 11:25:20    

JoWiLe a écrit :

et avec execute() on peut faire tout ce qu'on veut comme requetes?


 
 
ui  
http://java.sun.com/j2se/1.4.2/doc [...] ement.html

Citation :

execute()
          Executes the SQL statement in this PreparedStatement object, which may be any kind of SQL statement.


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
Reply

Marsh Posté le 20-12-2004 à 11:53:38    

simo [:zcoold]
 
(le pb de la methode execute() c'est que t'as pas de resultat vraiment interessant: ni le resultset, ni le nombre de rows impactés par ta requete)


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 20-12-2004 à 12:10:25    

benou a écrit :

y a des lignes intéressantes en fin du catalina.properties :  


// The permission granted to your JDBC driver
// grant codeBase "jar:file:${catalina.home}/webapps/examples/WEB-INF/lib/driver.jar!/-" {
//      permission java.net.SocketPermission "dbhost.mycompany.com:5432", "connect";
// };


donc visiblement, c'est normal qu'une servlet ne puisse pas ouvrir de connexion vers une base de donnée ...
 
c'est peut être depuis tomcat5 : j'ai jamais été embété avec ca moi ...  [:mlc]


 
Visbiblement personne ne sait comment resoudre ce probleme de connection a la base de donnée meme. :fou:  :fou:  

Reply

Marsh Posté le 20-12-2004 à 14:49:57    

axk47 a écrit :

Visbiblement personne ne sait comment resoudre ce probleme de connection a la base de donnée meme. :fou:  :fou:


bha t'as essayer de décommenter les lignes en les adaptant à ta config ?


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 20-12-2004 à 18:00:37    

benou a écrit :

bha t'as essayer de décommenter les lignes en les adaptant à ta config ?


 
je vais faire ça, je cours vite essayer

Reply

Marsh Posté le 21-12-2004 à 09:21:45    


 
 
[:ddr555]


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
Reply

Marsh Posté le 21-12-2004 à 10:55:37    

Mon probleme est resolu
merci à tous

Reply

Marsh Posté le 21-12-2004 à 11:07:11    

axk47 a écrit :

Mon probleme est resolu
merci à tous


en faisant comme j'ai dit ou autrement ?


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 21-12-2004 à 13:39:55    

En faisant comme tu as dit mais je ne pense pas qu'il faille modifier catalina.policy
 
En outre je pense que mon install de mysql qui merdait, y avait pas les bons droits
 
Merci benou tes balaise :)  :)  
 
A+ pour d'autres question

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed