Demande HELP : DatabaseMetadata probleme

karamilano Messages postés 16 Date d'inscription jeudi 15 mars 2007 Statut Membre Dernière intervention 4 avril 2008 - 26 mars 2008 à 00:06
 Utilisateur anonyme - 26 mars 2008 à 07:19
slt tt le monde

bon j ai un probleme  j voudrais extraire les informattion concernant ma base de données MYSQL  (les noms des champs ,le nom du produit de base de données , version du produit de base de données ...) a partir d une liaison JDBC .
et c est en utilisant un objet  DatabaseMetaData
j utilise l IDE Eclipse Europa mais voila il me reconnait pas la methode getMetaData() et getDatabaseProductName() et getDatabaseProductVersion() et getMaxConnections() et getSQLKeywords() et  supportsStoredProcedures()  et supportsStoredProcedures() 
voila c est mon code

 package JDBC;

import java.sql.*;
import java.util.*;
import java.sql.Connection.* ;

public class DatabaseMetaData {

    public static void main( String[] args) {
       
        try {
            Class.forName("com.mysql.jdbc.Driver");
           
             } catch (ClassNotFoundException ex) {
             System.out.println("Pilote JDBC non enregistré");
             }
             String url = "jdbc:mysql://localhost/data1";
         try {
         // Enregistrement du pilote
       
         // Etablissement de la connexion
         Connection c;
         c=DriverManager.getConnection(url);
       
         // Obtention des meta-donnees
         DatabaseMetaData md = c.getMetaData();
       
         // Initialisation d'une liste de proprietes
         Properties prop = new Properties();
       
         // Acquiert les proprietes
         prop.setProperty("Nom du produit",md.getDatabaseProductName());
         
         prop.setProperty("Version du produit",md.getDatabaseProductVersion() );
         prop.setProperty("Nombre max de connexions",String.valueOf(md.getMaxConnections()) );
         prop.setProperty("Mots cles SQL",md.getSQLKeywords() );
         prop.setProperty("Supporte les procedures stockees", String.valueOf(md.supportsStoredProcedures()));
       
         prop.setProperty("Supporte les procedures stockees",String.valueOf(md.supportsStoredProcedures()));
       
         // Envoie la liste a l’ecran
         prop.list(System.out);
       
        } catch ( ClassNotFoundException ex) {
             System.out.println("Erreur de config :"
             +ex.getMessage());
             } catch ( SQLException ex) {
             System.out.println("Erreur SQL :" +ex.getMessage());
             }
             }
}
             

voila les erreurs affichées ::

Exception in thread "main" java.lang.Error: Unresolved compilation problems:
    Type mismatch: cannot convert from DatabaseMetaData to DatabaseMetaData
    The method getDatabaseProductName() is undefined for the type DatabaseMetaData
    The method getDatabaseProductVersion() is undefined for the type DatabaseMetaData
    The method getMaxConnections() is undefined for the type DatabaseMetaData
    The method getSQLKeywords() is undefined for the type DatabaseMetaData
    The method supportsStoredProcedures() is undefined for the type DatabaseMetaData
    The method supportsStoredProcedures() is undefined for the type DatabaseMetaData

    at JDBC.DatabaseMetaData.main(DatabaseMetaData.java:26)

:oops: Merci de me donner une réponse et plus tôt possible

by thanks a l avance

1 réponse

Utilisateur anonyme
26 mars 2008 à 07:19
Nomme ta classe autrement et fais plutôt :
public class MYDatabaseMetaData extends DatabaseMetaData. Eclipse semble s'emmêmer les pinceaux s'il te laisse compiler ça sans te signaler une erreur bien avant.

TUER : http://tuer.tuxfamily.org/tuer.php

yeah! vive java
0
Rejoignez-nous