Connexion en Java à une base de donnée en ligne de FAI

Description

Ce tutoriel vous explique comment vous connecter à une base de données d'un site en ligne en Java.

Bien souvent, les connexions externes aux bases de données sont bloquées, et la méthode que nous allons voir permet de contourner cette restriction.

Cette méthode est donc particulièrement destinée aux base de données de site de FAI tels que Free, Alice, Orange etc...

Introduction

Nous allons donc nous connecter, dans notre exemple, à une base de données de type Free, mais il est important de garder à l'esprit que ça marche avec tous les types de base mysql en ligne.

Dans notre exemple, nous imaginons que nous sommes l'administrateur d'un site ayant les caractéristique suivantes :

  • FAI : Free
  • Nom du site : monSite.free.fr
  • Serveur SQL : sql.free.fr
  • Nom d'utilisateur (SQL et FTP) : userFree
  • Mot de passe (SQL FTP) : mdpFree

Maintenant que tout cela est clair, nous allons :

1. Télécharger le driver DbwConnection
2. Uploader le fichier serveur sur la racine du site
3. Nous connecter à cette base de donnée
4. Executer et afficher le résultat d'une requête.
5. Récapitulatif du code
6. Conclusion

Télécharger le driver DbwConnection

Vous pouvez le trouver à cette adresse : https://sourceforge.net/projects/dbwconnection

Cliquez sur "Download DbwConnection", puis sélectionnez la dernière version (la 0.9.2 actuellement).

Vous obtenez donc une archive Zip, qu'il vous faut décompresser.

Un nouveau dossier va se créer et contiendra au moins les fichiers suivants :

  • Dbw.jar ---> Le driver servant à se connecter à la base.
  • dbw.php ---> La partie serveur du programme.

Uploader le fichier serveur sur la racine du site

Vous l'aurez compris c'est facile, vous prenez le fichier dbw.php et vous l'uploader par exemple à la racine du serveur.
Dans notre exemple il se trouvera donc à cet emplacement :

http://monSite.free.fr/dbw.php

Nous connecter à cette base de données

Il va donc falloir créer un nouveau projet Java, et ajouter le fichier "Dbw.jar" au classpath, c'est à dire aux library de ce projet.

Dans le code, nous allons donc commencer par importer le package requis. Pour cela il faudra indiquer : import dbwConnection.*;

Pour créer la connexion, il faut instancier l'objet DbwConnection, avec les paramètres spécifiques à votre site :
DbwConnection conn = new DbwConnection(location, username, pwd, host, dataBase);

Ce qui donne dans notre cas :

DbwConnection conn = new DbwConnection("http://monSite.free.fr/dbw.php", "userFree", "mdpFree", "sql.free.fr", "monSite");

Exécuter et afficher le résultat d'une requête

La connexion est maintenant créée, vous pouvez exécuter des requêtes avec la méthode conn.executeQuery(String query), ou encore la methode conn.executeUpdate(String upadate).

Dans cet exemple, nous exécutons une requête, et nous affichons à l'écran les deux premières colonnes :

DbwConnection conn = new DbwConnection(location, username, pwd, host, dataBase);
 
ResultSet rs = conn.executeQuery("SELECT * FROM 'categories'");
 
while (rs.next()) {
     System.out.print(rs.getString(1));
     System.out.print(rs.getString(2));
}

Récapitulatif du code

Au final, notre code se compose comme cela :

// On importe le driver
import dbwConnection.*;
 
public class Main {
 
    public static void main(String *  args) {
 
        // location = la ou se trove le fichier dbw.php sur votre serveur
        String location = "http://monSite.free.fr/dbw.php";
 
        // username = votre nom d'utilisateur pour vous connecter a votre base SQL
        String username = "userFree";
 
        // pwd = votre mot de passe pour vous connecter a votre base SQL
        String pwd = "mdpFree";
 
        // host = l'adresse de votre serveur SQL
        String host = "sql.free.fr";
 
        // dataBase = le nom de votre base de donnee SQL.
        String dataBase = "monSite";
 
        // impératif de mettre des try/catch, pour capturer les exceptions
        try {
 
            DbwConnection conn = new DbwConnection(location, username, pwd, host, dataBase);
 
            ResultSet rs = conn.executeQuery("SELECT * FROM 'categories'");
 
            while (rs.next()) {
                System.out.print(rs.getString(1));
            }
 
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

Conclusion

Il est donc maintenant possible de se connecter, depuis un programme Java, à n'importe quel base mysql d'un site en ligne.

Pour toutes questions/critiques/suggestions, vous pouvez me contacter par mp, ou laisser un message sur sur tutoriel.

Ce document intitulé « Connexion en Java à une base de donnée en ligne de FAI » issu de CodeS SourceS (codes-sources.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Rejoignez-nous