Connexion à une base de donnée mySql avec une applet Java : access denied

Ganji Geru Messages postés 9 Date d'inscription lundi 2 janvier 2006 Statut Membre Dernière intervention 28 juin 2007 - 10 déc. 2006 à 19:09
Ganji Geru Messages postés 9 Date d'inscription lundi 2 janvier 2006 Statut Membre Dernière intervention 28 juin 2007 - 12 déc. 2006 à 10:36
J'ai envie de faire une applet qui devra interagir avec une base de donnée mySql.

En local, ça marche, j'arrive à me connecter sans problème.

Le bout de code que j'utilise pour la connexion est le suivant :


            Connection connection;

            try {

           
            connection
=  DriverManager.getConnection(

           
           
    "jdbc:mysql://localhost/baseDeTest",

               
            "root",

               
            "");


            } catch(SQLException e) {

           
   
this.jta.setText(this.jta.getText()+"\r\n"+e.toString());

            }


(j'ai aussi réussi à exécuter des requêtes et tout ce qu'il faut, pas de souci).


Ensuite, j'essaye de faire de même en me connectant à la base de
données de mon site hébergé chez free (donc je change url, login et mot
de passe).

Il me sort :

com.mysql.jdbc.CommunicationsException: Communications link failure due to underlying exception:


** BEGIN NESTED EXCEPTION **


java.net.SocketException

MESSAGE: java.security.AccessControlException: access denied (java.net.SocketPermission 127.0.0.1:3306 connect,resolve)


STACKTRACE:


java.net.SocketException: java.security.AccessControlException: access
denied (java.net.SocketPermission 127.0.0.1:3306 connect,resolve)

    at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:156)

    at com.mysql.jdbc.MysqlIO.(MysqlIO.java:276)

    at com.mysql.jdbc.Connection.createNewIO(Connection.java:2666)

    at com.mysql.jdbc.Connection.(Connection.java:1531)

    at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:266)

    at java.sql.DriverManager.getConnection(Unknown Source)

    at java.sql.DriverManager.getConnection(Unknown Source)

    at TestApplet.start(TestApplet.java:34)

    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.


J'ai lancé l'applet depuis mon PC, puis en l'ayant mise mon ftp , les deux cas donnent cette erreur.


Si quelqu'un peut m'éclairer... merci d'avance

3 réponses

cs_LordBob Messages postés 2865 Date d'inscription samedi 2 novembre 2002 Statut Membre Dernière intervention 11 mai 2009 9
10 déc. 2006 à 19:44
alors je peux dire des conneries, mais il me semble que les bases de données de Free sont innaccessible depuis une application autre que ton site. donc normal que quand tu la lance depuis ton ordinateur ca ne marche pas!
pour l'applet executer depuis le site directement heberger par free, je ne sais pas... mais il s'agit peut etre encore d'une restriction de free!
Bob...
"Vaut mieux se taire et passer pour un con, que de l'ouvrir et ne laisser aucun doute sur le sujet..."
0
Ombitious_Developper Messages postés 2333 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 26 juillet 2013 39
10 déc. 2006 à 21:14
Salut:

Les applets sont plus restrictives que les applications en terme de sécurité.
Avec les applets tu ne peux pas te connecter à une hôte distante.
Tu dois rendre ton applet "signée" pour la donner plus de droits d'accès.
0
Ganji Geru Messages postés 9 Date d'inscription lundi 2 janvier 2006 Statut Membre Dernière intervention 28 juin 2007
12 déc. 2006 à 10:36
Ok, merci, je vais essayer avec une applet signée, et j'espère que c'est pas free qu'i m'empêche de me connecter ...
0