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 :

Eclipse avec Mondrian


Sujet :

JDBC Java

  1. #1
    Nouveau membre du Club
    Inscrit en
    Février 2010
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 25
    Points : 28
    Points
    28
    Par défaut Eclipse avec Mondrian
    Bonjour,

    J'essaye à travers mon code Java à envoyer des requêtes MDX à Mondrian.

    Voici le 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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    import mondrian.olap.Axis;
    import mondrian.olap.Connection;
    import mondrian.olap.DriverManager;
    import mondrian.olap.Member;
    import mondrian.olap.Position;
    import mondrian.olap.Query;
    import mondrian.olap.Result;
     
    public class MondrianMoteur
    {
        public static void main(String[] args)
        {    
            String configuration =
                "Provider=mondrian;" +
                "jdbc:mysql://localhost/Foodmart?user=root&password=123;" +
                "Catalog=C:\\Tomcat 6.0\\webapps\\mondrian\\WEB-INF\\queries\\FoodMart.xml;" +
                "JdbcDrivers=com.mysql.jdbc.Driver;";
     
            String mdx =
                "  select {[Measures].[Store Cost]," +
                "          [Measures].[Store Sales]} ON COLUMNS," +
                "         {[Product].[All Products]} ON ROWS" +
                "  from [Sales]";
     
            new MondrianMoteur().executeRequete(configuration, mdx);
        }
     
        // @SuppressWarnings({ "deprecation", "null" })
        private void executeRequete(String configuration, String requete)
        {
            Connection connection = null;
            try
            {
                DriverManager.getConnection(configuration, null, true);
                Query query = connection.parseQuery(requete);
                Result result = connection.execute(query);
                afficherResultat(result);
            }
            catch (Exception e)
            {
                e.printStackTrace();
            }
            finally
            {
                if (connection != null)
                    connection.close();
            }
        }
     
        private void afficherResultat(Result result)
        {
            Axis[] axis = result.getAxes();
            for (int i = 0; i < axis.length; i++)
                for (Position p : axis[i].getPositions())
                    for (Member m : p)
                        System.out.println(m.getCaption());
        }
    }
    Cependant, lors de l'exécution j'ai toujours ce message que je ne comprends pas :
    Creates a fs hierarchy representing MySQL version, OS version and JVM version.
    Stores the full path as 'outputDirectory' property in file 'directoryPropPath'

    Usage: java VersionFSHierarchyMaker unit|compliance baseDirectory directoryPropPath
    Pourriez-vous me dire sa signification et la solution pour pouvoir résoudre ce problème ?

    Merci d'avance.

  2. #2
    Rédacteur
    Avatar de CyberChouan
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    2 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 752
    Points : 4 314
    Points
    4 314
    Par défaut
    Je n'ai jamais vu ce message, mais en le décryptant, je pense qu'il vient du passage en paramètre du catalogue complet, lors de ta définition de l'adresse JDBC :
    "Catalog=C:\\Tomcat 6.0\\webapps\\mondrian\\WEB-INF\\queries\\FoodMart.xml;"

    Ce chemin en dur dans ton code est contraire aux "bonnes pratiques", car il est lié à un système donné.

  3. #3
    Nouveau membre du Club
    Inscrit en
    Février 2010
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 25
    Points : 28
    Points
    28
    Par défaut
    Merci bien pour ton aide.
    J'ai réussi à faire marcher ce 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
    30
    31
    32
    33
    34
    35
     
    import java.io.PrintWriter;
     
    	import mondrian.olap.Connection;
    	import mondrian.olap.DriverManager;
    	import mondrian.olap.Query;
    	import mondrian.olap.Result;
     
    public class essai {
     
     
    		public void requete (){
     
    		String connectString = "Provider=mondrian;" + 
    		"Jdbc=jdbc:mysql://localhost:3306/foodmart?user=root&password=123;" +
    		 "Catalog=file:C:\\Tomcat 6.0\\webapps\\mondrian\\WEB-INF\\queries\\FoodMart.xml;"+ 
    		"JdbcDrivers=com.mysql.jdbc.Driver";
     
    		System.out.println(connectString);
    		Connection connection = null;
    		connection = DriverManager.getConnection(connectString, null);
    		Query query = connection.parseQuery("SELECT {[Measures].[Unit Sales], [Measures].[Store Cost], [Measures].[Store Sales]} on columns," +
    		"{([Promotion Media].[All Media], [Product].[All Products])} ON rows "+
    		"FROM Sales " +
    		"WHERE ([Time].[1997])"); 
     
    		Result result = connection.execute(query);
    		result.print(new PrintWriter(System.out,true)); 
    		}
     
    		public static void main (String[] args){
    			new connect().requete();
     
    		}
    		}
    Merci

  4. #4
    Nouveau membre du Club
    Inscrit en
    Février 2010
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 25
    Points : 28
    Points
    28
    Par défaut Jtable
    Bonjour

    Apré avoir se connecter au cube et recuperer les resultat, comment pourrai je utiliser jtable ou jFreeChart pour supporter mes dimensions.
    Aidez moi svp, je sui debutante en java.
    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Ant] utiliser le classpath d'Eclipse avec Ant
    Par XavierZERO dans le forum Eclipse Java
    Réponses: 3
    Dernier message: 30/03/2007, 14h00
  2. [Plugin][Hibernate]Eclipse avec hibernate(synchronizer)
    Par mg67 dans le forum Eclipse Java
    Réponses: 7
    Dernier message: 23/06/2005, 17h19
  3. [Débutant] Utilisation du debugger Eclipse avec Serveur Web
    Par tnodev dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 09/06/2005, 17h45
  4. [Plugin / XML] Problème plugin Eclipse avec JDOM
    Par kiko_18 dans le forum Eclipse Platform
    Réponses: 1
    Dernier message: 12/02/2005, 13h55
  5. [Plugin]Lancement d'un projet JSP sous Eclipse avec Tomcat
    Par samios dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 25/08/2004, 18h03

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