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 :

Probleme de Connection a une base SQL


Sujet :

JDBC Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 5
    Par défaut Probleme de Connection a une base SQL
    Bonjour,

    j'ai créé un applet java qui doit se connecter a une base MySQL.
    Seulement j'obtiens une java.lang.ClassNotFoundException: com.mysql.jdbc.Driver.
    Je précise que j'ai mis mes fichiers sur un ftp, j'ai donc mon fichier .class pour mon applet, le fichier .java qui y correspond, mon fichier .html qui charge l'applet. J'ai aussi telechargé mysql-connector-java-5.0.7, qui contenait des dossiers com et lib, que j'ai extrait vers mon ftp (chez free, avec la base sql activée) ainsi que le fichier mysql-connector-java-5.0.7-bin.jar que j'ai mis dans le dossier lib. Le probleme ne vient pas de mon code mais (a mon avis) du classpath que je ne sais pas comment definir vu que je suis sur un ftp.

    Je travaille sur eclipse, et j'y ai donc ajouté la librairie mysql-connector-java-5.0.7-bin.jar dans le classpath via Java Build Path / Librairies. Quand je lance mon programme, il trouve les drivers sans probleme mais ne peut pas se connecter a ma base SQL. Je peut vous mettre le message d'erreur si ca vous aide, mais apparement il faut etre sur le ftp pour se connecter a la base SQL. Par contre lorsque je lance l'applet sur le ftp, il me met cette erreur de ClassNotFoundException.

    Si j'ai bien compris les milliers de pages que j'ai lues a propos du classpath, le probleme vient de la, mais comment est ce que je peut definir le classpath sur un ftp ?
    Si mon probleme ne vient pas de la, est ce que quelqu'un pourrait m'expliquer ce qu'il faut faire ?

    Merci pour votre aide.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 36
    Par défaut
    Bonjour Migli2,

    as-tu bien spécifié dans l'attribut «archive» de la balise où tu déclares l'applet (balise «object» sans doute), la liste des fichiers .jar qui contiennent toutes les classes dont l'applet a besoin ?

    Deuxièmement, je ne suis pas persuadé que tu puisses in fine établir la connexion entre une applet et une base de données sur un serveur SGBD quelconque. Si mes souvenirs (un peu lointains certes) de la programmation des applets sont exacts, les applets ne sont autorisés à ouvrir de connexion réseau qu'avec la machine à partir de laquelle elles sont elles-mêmes chargées. Donc, si le SGBD est localisé sur une machine différente que ta machine «ftp», ça risque de poser problème. Il y a peut-être moyen de contourner cette limitation en configurant un fichier de permissions pour autoriser cette connexion, mais, en admettant que ce soit possible, cela devient très contraignant pour les clients, puisque chaque client devrait alors paramétrer ce fichier de permissions.

    Mes de € centimes.

    MarkH

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 5
    Par défaut
    Mes fichiers sont bien sur la machine ftp sur laquelle est ma base MySQL.
    Voici le code de mon fichier HTML :

    <html>

    <head>
    <title>Test</title>
    </head>

    <body>

    <applet code="DataPanel.class" archive ="lib/mysql-connector-java-5.0.7-bin.jar" width="650" height="400">
    Votre Navigateur n'est pas compatible JAVA.

    </applet>

    </body>

    </html>
    Je l'ai transferé sur mon ftp, mais en le lancant sur le site je me retrouve avec la meme erreur de java.lang.ClassNotFoundException: com.mysql.jdbc.Driver...

    Help

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 5
    Par défaut
    Je n'ai plus le probleme du driver, simple erreur de nom du fichier html ...
    Merci pour ton aide MarkH

    Maintenant j'ai une autre erreur :

    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
     
    com.mysql.jdbc.CommunicationsException: Communications link failure due to underlying exception: 
     
    ** BEGIN NESTED EXCEPTION ** 
     
    java.security.AccessControlException
    MESSAGE: access denied (java.net.SocketPermission sql.free.fr resolve)
     
    STACKTRACE:
     
    java.security.AccessControlException: access denied (java.net.SocketPermission sql.free.fr resolve)
    	at java.security.AccessControlContext.checkPermission(Unknown Source)
    	at java.security.AccessController.checkPermission(Unknown Source)
    	at java.lang.SecurityManager.checkPermission(Unknown Source)
    	at java.lang.SecurityManager.checkConnect(Unknown Source)
    	at java.net.InetAddress.getAllByName0(Unknown Source)
    	at java.net.InetAddress.getAllByName0(Unknown Source)
    	at java.net.InetAddress.getAllByName(Unknown Source)
    	at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:246)
    	at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:271)
    	at com.mysql.jdbc.Connection.createNewIO(Connection.java:2744)
    	at com.mysql.jdbc.Connection.<init>(Connection.java:1553)
    	at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:285)
    	at java.sql.DriverManager.getConnection(Unknown Source)
    	at java.sql.DriverManager.getConnection(Unknown Source)
    	at DataPanel.<init>(DataPanel.java:340)
    	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    	at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
    	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
    	at java.lang.reflect.Constructor.newInstance(Unknown Source)
    	at java.lang.Class.newInstance0(Unknown Source)
    	at java.lang.Class.newInstance(Unknown Source)
    	at sun.applet.AppletPanel.createApplet(Unknown Source)
    	at sun.plugin.AppletViewer.createApplet(Unknown Source)
    	at sun.applet.AppletPanel.runLoader(Unknown Source)
    	at sun.applet.AppletPanel.run(Unknown Source)
    	at java.lang.Thread.run(Unknown Source)
     
     
    ** END NESTED EXCEPTION **
     
     
     
    Last packet sent to the server was 0 ms ago.
    	at com.mysql.jdbc.Connection.createNewIO(Connection.java:2820)
    	at com.mysql.jdbc.Connection.<init>(Connection.java:1553)
    	at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:285)
    	at java.sql.DriverManager.getConnection(Unknown Source)
    	at java.sql.DriverManager.getConnection(Unknown Source)
    	at DataPanel.<init>(DataPanel.java:340)
    	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    	at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
    	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
    	at java.lang.reflect.Constructor.newInstance(Unknown Source)
    	at java.lang.Class.newInstance0(Unknown Source)
    	at java.lang.Class.newInstance(Unknown Source)
    	at sun.applet.AppletPanel.createApplet(Unknown Source)
    	at sun.plugin.AppletViewer.createApplet(Unknown Source)
    	at sun.applet.AppletPanel.runLoader(Unknown Source)
    	at sun.applet.AppletPanel.run(Unknown Source)
    	at java.lang.Thread.run(Unknown Source)
    Je vois pas d'ou ca vient ... une idée ?

  5. #5
    Membre expérimenté Avatar de Roy Miro
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    273
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 273
    Par défaut
    Vérifie ton firewall.

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 5
    Par défaut
    Je les ai tous desactivés, et de toute facon tout ça se passe sur un ftp, donc il ne devrait pas y avoir de probleme de firewall si ce n'est que ma base de donnée SQL n'autorise pas l'accès a mon applet java... mais je vois pas comment changer ca.
    J'ai vu une histoire de signature d'applet, mais il faudrait que ma base de donnée accepte la signature d'elle-meme, ce qui parait compromis.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. probleme de connection a une base sql server
    Par bassoum dans le forum JDBC
    Réponses: 2
    Dernier message: 06/05/2008, 21h18
  2. comment se connecter a une base sql server
    Par jasminrose dans le forum JDBC
    Réponses: 20
    Dernier message: 17/04/2007, 15h56
  3. Probleme de connection a une base postres via une datasource
    Par mazizou dans le forum Tomcat et TomEE
    Réponses: 3
    Dernier message: 09/12/2006, 17h45
  4. [VB.NET] Pourquoi je ne peux pas me connecter à une base SQL ?
    Par Hakki dans le forum Accès aux données
    Réponses: 1
    Dernier message: 13/09/2006, 11h35
  5. Probleme de connection a une base de donnée avec odbc
    Par sundjata dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 24/08/2006, 23h25

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