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 :

Lister les BDD de mon serveur MySql


Sujet :

JDBC Java

  1. #1
    Membre régulier
    Inscrit en
    Juin 2005
    Messages
    210
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 210
    Points : 83
    Points
    83
    Par défaut Lister les BDD de mon serveur MySql
    Bonjour,

    Je souhaite lister les BDD de mon serveur MySql et ensuite lister leur table (par la suite j'afficherai les infos de chaque table), le but final sera de faire un plug in pour eclipse qui génère les DataAccesObject en selectionnant une BDD enfin bref ...

    et je ne suis pas sur de m'y prendre comme il faut (car par exemple mon bout de code ne liste pas les table de la base information_schema , si vous avez plus simple je suis preneur (ou même d'autre soluce), voici le bout de code :

    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
    try
            {
                Class.forName("com.mysql.jdbc.Driver");
                Connection connex = DriverManager.getConnection("jdbc:mysql://localhost/","root","pwd");
     
                String[] types = new String[1];
                types[0] = "TABLE";
                DatabaseMetaData dmd = connex.getMetaData();
                ResultSet resultat = dmd.getCatalogs();
                while (resultat.next())
                {
                    System.out.println("***************************************");
                    System.out.println("******* DataBase = " + resultat.getString(1));
                    System.out.println("***************************************");
                    ResultSet tables = dmd.getTables(resultat.getString(1),null,"%",types);
     
                    while(tables.next())
                    {
                        for (int i=0; i<tables.getMetaData().getColumnCount();i++)
                        {
                            String nomTable = (String) tables.getObject(i+1);
                            if(i == 2)
                            {
                                System.out.println("Table = " + nomTable);
                            }
                        }
                    }
                }
            }
    Et son résultat :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    ***************************************
    ******* DataBase = information_schema
    ***************************************
    ***************************************
    ******* DataBase = Test
    ***************************************
    Table = Table1

    Je vous remercie d'avance.

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    511
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 511
    Points : 386
    Points
    386
    Par défaut
    Syntaxe sql: SHOW DATABASES te retourne un tableau des bdd du serveur auxquelles tu as accès. Tu scrutes ton tableau pour les lister

  3. #3
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Points : 9 529
    Points
    9 529
    Billets dans le blog
    1
    Par défaut
    SHOW DATABASES n'est pas une instruction supportée par toutes les bases de données

    Donc, pour moi, la solution DatabaseMetaData est la bonne.
    Il y a juste que tu fais 2x la même extraction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    resultat.getString(1)
    il faudrait passer par une variable String

    A+

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    511
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 511
    Points : 386
    Points
    386
    Par défaut
    Je souhaite lister les BDD de mon serveur MySql
    mais supportée par mysql

  5. #5
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Points : 9 529
    Points
    9 529
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par garthos Voir le message
    ... le but final sera de faire un plug in pour eclipse qui génère les DataAccesObject en selectionnant une BDD...
    Je ne pense pas qu'il ne veuille faire un plugin eclipse que pour MySQL...

Discussions similaires

  1. scaner les port de mon serveur?
    Par Florina dans le forum Développement
    Réponses: 12
    Dernier message: 18/12/2005, 14h02
  2. Mon serveur MySQL délire !
    Par Michaël dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 6
    Dernier message: 18/09/2004, 17h48
  3. Réponses: 4
    Dernier message: 11/09/2004, 16h38
  4. visualiser les connection a un serveur mysql
    Par Thunder_nico dans le forum Bases de données
    Réponses: 4
    Dernier message: 21/07/2004, 13h15
  5. Paramétrer le nombre de connexion sur mon serveur Mysql
    Par Zerga dans le forum Installation
    Réponses: 2
    Dernier message: 12/12/2003, 19h21

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