Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : probleme de connexion à la base de donnée [ Système / JDBC ] (Fridimette)

jeudi 10 avril 2008 à 11:17:13 | probleme de connexion à la base de donnée

Fridimette

Bonjour,
Je galère depuis deux trois jours sur la connexion à ma base de donnée (qui est installée en local sur mon ordi ) à travers ma servlet (tomcat 5.5 qui est aussi en local)
Je me suis dis: "puis que ca marche pas le tien trouve un code qui marche et testes le"
C'est ce que j'ai fait et j'ai trouvé ceci sur votre site :
http://www.javafr.com/codes/CONNECTION-SERVLET-AVEC-BASE-DONNEES-MYSQL-UTILISATION-EXPRESSIONS_37026.aspx

Bon j'ai juste modifié mon port et mon host par :
java.sql.Connection conn = java.sql.DriverManager.getConnection(
              "jdbc:mysql://127.0.0.1:3306/BIOTECH","root","root");


et aussi la requête originale :
 try
        {
               Class.forName(pilote);
            java.sql.Connection conn = java.sql.DriverManager.getConnection(
              "jdbc:mysql://localhost:3309/test","root","omar");
            stmt = conn.createStatement();
            String req="SELECT id FROM test";
            rs = stmt.executeQuery(req);
}

car pour moi lorsqu'on se connecte À LA BASE on ne peut pas faire une recherche d'ID : pour moi ca ne me semble pas logique : c'est sur une TABLE qu'on fait la recherche d'ID.

Enfin bref : voilà mon script :
[code]
import java.io.IOException;
import java.io.PrintWriter;
 
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
 
import java.sql.*;

 
import java.lang.String; 
 
import java.util.regex.* ;
 
public class Omar extends HttpServlet 
{
    
    Statement stmt = null;
    ResultSet rs = null;
    private static Pattern pattern;
    private static Matcher matcher;
    
    public void doGet(HttpServletRequest request, HttpServletResponse response)
    throws IOException, ServletException
    {     
        //Nom de mon pilote
        String pilote = "com.mysql.jdbc.Driver";
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();
        out.println("<html>");
        out.println("<head>");
        out.println("<title>Hello World!</title>");

        out.println("</head>");
        out.println("<body>");
           //test des xpressions rgulires
        try
        {
            pattern = Pattern.compile("[a-z]");
            matcher = pattern.matcher("abc");
               out.println("---------Test des xpressions rgulires--------<br>");
               int i=0;
               out.println("Le nombre des groupes: "+matcher.groupCount()+"<br>");
               while(matcher.find()) 
               {
                   out.println("Le texte \""+matcher.group(i)+"\" dbute  "+matcher.start()+" et termine  "+matcher.end()+"<br>");
                   i++;
               }
               /*String s = matcher.replaceAll("chocolat");
               out.println(s);
               while(matcher.find()) 
            {

                out.println("Trouv !<br>");
            }*/
               out.println("<br>");
        }
        catch(PatternSyntaxException e)
        {
            out.println("Expressions rguliere"+e);
        }
        catch(Exception e)
        {
             
        }
        try
        {
               Class.forName(pilote);
            java.sql.Connection conn = java.sql.DriverManager.getConnection(
              "jdbc:mysql://127.0.0.1:3306/BIOTECH","root","root");
            stmt = conn.createStatement();

            String req="SHOW TABLES";
            rs = stmt.executeQuery(req);
 
            // or alternatively, if you don't know ahead of time that
            // the query will be a SELECT...
 
            if (stmt.execute(req)) 
            {
                rs = stmt.getResultSet();
            }
               out.println("---------Test de la base--------<br>");

            while(rs.next())
            {
                out.println("Id: "+rs.getInt("id"));
            }
        } 
        catch(Exception e)
        {
            out.println("Connection rate: "+e);
        } 
        out.println("</body>");
        out.println("</html>");
    }
}

[/code]

j'ai le message d'erreur suivant :
---------Test des éxpressions régulières--------
Le nombre des groupes: 0
Le texte "a" débute à 0 et termine à 1
Connection ratée: 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:3309 connect,resolve) STACKTRACE: java.net.SocketException: java.security.AccessControlException: access denied (java.net.SocketPermission 127.0.0.1:3309 connect,resolve) at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:156) at com.mysql.jdbc.MysqlIO.(MysqlIO.java:284) at com.mysql.jdbc.Connection.createNewIO(Connection.java:2569) at com.mysql.jdbc.Connection.(Connection.java:1485) at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:266) at java.sql.DriverManager.getConnection(DriverManager.java:525)

Voilà: j'ai cherché sur Google mais la plupart des réponses (proposés à cette erreur )correspondent au fait que le server et la base ne se situent pas sur le même ordinateur : alors que moi c'est le cas : ils sont belles et biens sur mon ordi

Quelqu'un a une idée ?

jeudi 10 avril 2008 à 11:19:28 | Re : probleme de connexion à la base de donnée

Fridimette

autre petite chose que j'ai oublié de préciser : c'est que dans le message d'erreur il y a spécifié : 3309
alors que dans mon script j'ai spécifié 3306 ! (qui est bien mon port : vérifier grâce à la commande : mysql -?)



Cette discussion est classé dans : java, mysql, out, println, matcher


Répondre à ce message

Sujets en rapport avec ce message

connexion jdbc mysql [ par asx9 ] asx9bonjour, j'aimerai me connecter à ma base de données MySQL. g récupéré un code (merci duss), mais g un petit souci:import javax.servlet.*;import j salut tout le monde [ par sata ] Salut,je dois développer une application de type web pour laquelle on m'impose le Java(et surtout le javamail) ;tout ça en se connectant à u salut tout le monde [ par sata ] Salut,je dois développer une application de type web pour laquelle on m'impose le Java(et surtout le javamail) ;tout ça en se connectant à u Pb avec la base Access [ par edydas ] Salut à tous,Je veux recupérer des données d'une base de données Access en utilisant une servlet. J'arrive bien à me connecter à la base et obtenir le acces refuse à la copie [ par nahzhir ] BonjourJe suis en train de crée une class qui copier et colle un fichier avec cette methode : public static<FONT siz Regex [ par lnp ] Salutà tous,J'ai un fichier CSV structurer ainsi : "Titre","Prénom","Nom"... Et le problème est que chaque champ est compris entre guillements ?Voilà Java et Mysql : Unsupported character encoding [ par cocodunombril ] Bonjour à tous, Je tente actuellement de développer un serveur en java, utilisant une base de données MySQL. Je développe sous linux (Debian). Voici m afficher base de donnée sql dans une Jtable [ par Snyve ] Bonjour à tous !Je suis un débutant en java. J'utilise Netbeans.J'ai créer un programme java qui récupère les informations d'une base de donnée et les Impossible de saisir un entier en java , en utilisant la class console [ par lagdu ] Bonjour à tous.Je me permet de poster sur le forum affin de vous exposer mon problème.Je vais essayer d'etre le plus precis possible sur celui ci mais calendrier java [ par cafaizizir ] bonjour je sui étudiant en informatique et je dois réaliser un calendrier avec année bisextilleet je doi l'affiché ds la console avec la fonction prin


Nos sponsors

Sondage...

CalendriCode

Janvier 2009
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Consulter la suite du CalendriCode



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,655 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.