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

Développement Web en Java Discussion :

Bases de données multidimensionnelles SSAS. Erreur "java.lang.IndexOutOfBoundsException"


Sujet :

Développement Web en Java

  1. #1
    Membre régulier
    Homme Profil pro
    Etudiant du Genie Logiciel
    Inscrit en
    Juillet 2011
    Messages
    397
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Etudiant du Genie Logiciel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2011
    Messages : 397
    Points : 73
    Points
    73
    Par défaut Bases de données multidimensionnelles SSAS. Erreur "java.lang.IndexOutOfBoundsException"
    Bonjour,

    J'ai l'erreur suivante :
    Infos: SELECT{ [Measures].[Brut], [Measures].[Net], [Measures].[T Brut], [Measures].[Tnet], [Measures].[T Fonduf], [Measures].[T Fondum] } DIMENSION PROPERTIES PARENT_UNIQUE_NAME
    , HIERARCHY_UNIQUE_NAME ON COLUMNS
    , NON EMPTY CrossJoin ( CrossJoin ( Hierarchize ( AddCalculatedMembers ( { DrilldownLevel ( { [Dim Quart].[Quart Ex Cde].[All] } ) } ) ) , Hierarchize ( AddCalculatedMembers ( { DrilldownLevel ( { [Dim SGP CAL].[Cal Date Chaine].[All] } ) } ) ) ) , Hierarchize ( AddCalculatedMembers ( { DrilldownLevel ( { [Dim SGP EQUIPE].[Equipe Ex Cde].[All] } ) } ) )) DIMENSION PROPERTIES PARENT_UNIQUE_NAME, HIERARCHY_UNIQUE_NAME ON ROWS
    FROM ( SELECT Filter ( [Dim SGP CAL].[Cal Date Chaine].[Cal Date Chaine].Members , ( [Dim SGP CAL].[Cal Date Chaine].CurrentMember .member_caption >= "20140101" AND [Dim SGP CAL].[Cal Date Chaine].CurrentMember .member_caption <="20141231" )
    ) ON COLUMNS
    FROM [Production_CUBE]
    ) CELL PROPERTIES VALUE
    , FORMAT_STRING
    , LANGUAGE
    , BACK_COLOR
    , FORE_COLOR
    , FONT_FLAGS
    Avertissement: StandardWrapperValve[Serv_auth]: Servlet.service() for servlet Serv_auth threw exception
    java.lang.IndexOutOfBoundsException: Coordinate 28 of axis 2 is out of range (30, 28)
    at org.olap4j.driver.xmla.XmlaOlap4jCellSet.coordinatesToOrdinal(XmlaOlap4jCellSet.java:695)
    at org.olap4j.driver.xmla.XmlaOlap4jCellSet.getCell(XmlaOlap4jCellSet.java:582)
    at org.olap4j.driver.xmla.XmlaOlap4jCellSet.getCell(XmlaOlap4jCellSet.java:598)
    at com.sobi.controller.Serv_auth.doPost(Serv_auth.java:92)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
    at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1682)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:318)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:160)
    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:734)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:673)
    at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:99)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:174)
    at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:357)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:260)
    at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:188)
    at org.glassfish.grizzly.http.server.HttpHandler.runService(HttpHandler.java:191)
    at org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:168)
    at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:189)
    at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:288)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:206)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:136)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:114)
    at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77)
    at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:838)
    at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:113)
    at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:115)
    at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:55)
    at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:135)
    at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:564)
    at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:544)
    at java.lang.Thread.run(Thread.java:745)

    Infos: 1304426.0
    Infos: 434139.0
    Infos: 425002.0
    Infos: 445285.0
    Infos: 223128.0
    Infos: 74952.0
    Infos: 73440.0
    Infos: 73440.0
    Infos: 74736.0
    Infos: 74736.0
    Infos: 222912.0
    Infos: 222912.0
    Infos: 74088.0
    Infos: 74088.0
    Infos: 73440.0
    Infos: 73440.0
    Infos: 75384.0
    Infos: 75384.0
    Infos: 205812.0
    Infos: 205812.0
    Infos: 72185.0
    Infos: 72185.0
    Infos: 60268.0
    Infos: 60268.0
    Infos: 73359.0
    Infos: 73359.0
    Infos: 221065.0
    Infos: 221065.0
    Infos: 74594.0
    Infos: 74594.0
    Infos: 72865.0
    Infos: 72865.0
    Infos: 73606.0
    Infos: 73606.0
    Infos: 223535.0
    Infos: 223535.0
    Infos: 74347.0
    Infos: 74347.0
    Infos: 73853.0
    Infos: 73853.0
    Infos: 75335.0
    Infos: 75335.0
    Infos: 207974.0
    Infos: 207974.0
    Infos: 63973.0
    Infos: 63973.0
    Infos: 71136.0
    Infos: 71136.0
    Infos: 72865.0
    Infos: 72865.0
    Voici mon code source :
    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
    @Override
        protected void doPost(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
            boolean resp = SobiTools.headerResponse(response);
            PlanCellData planCell = new PlanCellData();
            RequestSobi requests = new RequestSobi(sobi);
            this.cellSet = (CellSet) requests.Extract(request);
            List<CellSetAxis> axes = this.cellSet.getAxes();
            int cellOrdinal = 0;
            for (Position axis_0 : axes.get(Axis.ROWS.axisOrdinal()).getPositions()) {
                for (Member member : axis_0.getMembers()) {
                    String rows = member.getName().trim();
                    if (!rows.equalsIgnoreCase("All")) {
    //                    System.out.println(rows);
                        for (Position axis_1 : axes.get(Axis.COLUMNS.axisOrdinal()).getPositions()) {
                            for (Member members : axis_1.getMembers()) {
                                String columns = members.getName().trim();
                                if (!columns.equalsIgnoreCase("All")) {
                                    Cell currentCell = this.cellSet.getCell(axis_0, axis_1);
                                    Object value = currentCell.getValue();
                                    System.out.println(value.toString());
     
    //                                Map map = new HashMap();
    //                                planCell.initCellData(rows, columns);
    //                                map.put(rows, columns + "\t" + value);
    //                                planCell.addCellData(map);
                                }
                            }
     
                        }
     
                    }
                }
            }
            System.out.println(planCell.readCellData());
    //        SobiTools.sendResponse("cell", response, planCell.toString());
        }
    Quelqu'un saurait-il m'indiquer comment résoudre ce problème ?

    Merci d'avance pour votre aide.

  2. #2
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Salut,

    Le message d'erreur décrit bien le problème :

    java.lang.IndexOutOfBoundsException: Coordinate 28 of axis 2 is out of range (30, 28)
    at org.olap4j.driver.xmla.XmlaOlap4jCellSet.coordinatesToOrdinal(XmlaOlap4jCellSet.java:695)
    at org.olap4j.driver.xmla.XmlaOlap4jCellSet.getCell(XmlaOlap4jCellSet.java:582)
    at org.olap4j.driver.xmla.XmlaOlap4jCellSet.getCell(XmlaOlap4jCellSet.java:598)
    La méthode getCell() est appelée avec une seconde coordonnée de valeur 28, alors que la dimension de l'intervalle correspondant est 28. Les valeurs dans cet intervalle vont probablement de 0 à 27.

    Donc, cherche pourquoi lors de l'appel Cell currentCell = this.cellSet.getCell(axis_0, axis_1);, axis_1 vaut 28. Tu peux par exemple afficher axis_0 et axis_1 (en ajoutant temporairement un System.out.println(), pour voir toutes les valeurs, ou utiliser le mode debug pour suivre l'évolution des différentes variables.

Discussions similaires

  1. Réponses: 3
    Dernier message: 19/02/2008, 15h37
  2. Base de donnée: WHERE id -> erreur
    Par kiwi645 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 01/02/2008, 09h24
  3. Quelle Base de données pour une application en Java
    Par Feysal dans le forum Décisions SGBD
    Réponses: 4
    Dernier message: 01/06/2007, 21h05
  4. Réponses: 1
    Dernier message: 02/02/2007, 10h29

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