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...
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 :
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
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 :
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
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");
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)); }
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(); } } }
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.