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

BIRT Discussion :

MongoDB & paramètres


Sujet :

BIRT

  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Avril 2011
    Messages
    660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 660
    Points : 331
    Points
    331
    Par défaut MongoDB & paramètres
    Bonjour,

    J'ai toujours utilisé BIRT avec une base PostgreSQL et j'étais habitué avec mes requêtes SQL et les fameux paramètres. Je regarde actuellement MongoDb, ce fameux NOSQL et je cherche à trouver l'astuce pour afficher des choses dynamiquement à la manière des paramètres de la clause WHERE.

    J'ai créé un paramètre "nom" car je souhaite filtrer sur le nom mais j'ai l'impression qu'il ne le récupère pas. Du coup je me demande aussi comment récupérer ce paramètre via l'URL car l'idée est ensuite de passer cette fiche sur le web et la lancer via un lien.

    Après pas mal de recherches, il semblerait qu'il soit nécessaire de passer un script du genre...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this.queryText ='{ "findQueryExpr" : "{ nom: '+params["nom"].value+'  }" , "operationType" : "FIND" , "collectionName" : "acteurs" , "selectedFields" : [ "_id" , "nom", "prenom"]}'
    ... dans le script before open du DataSET pour que cela fonctionne. J'ai essayé de passer le script dans le dataset via la propriété Query Text de Propriety building.

    Le résultat est similaire, il semble qu'il y ait un problème au niveau du script. Si vous avez une idée sur comment réussir à filtrer ces données je suis preneur ! Merci beaucoup et longue vie au réseau.


    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
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    The following items have errors:
     
    Table (id = 67):
    - Cannot execute the statement.
        org.eclipse.datatools.connectivity.oda.OdaException: Invalid query expression; unable to execute query.
     
    odaconsumer.CannotExecuteStatement ( 1 time(s) )
    detail : org.eclipse.birt.report.engine.api.EngineException: Cannot execute the statement.
        org.eclipse.datatools.connectivity.oda.OdaException: Invalid query expression; unable to execute query.
    	at org.eclipse.birt.report.engine.executor.ExecutionContext.addException(ExecutionContext.java:1245)
    	at org.eclipse.birt.report.engine.executor.ExecutionContext.addException(ExecutionContext.java:1224)
    	at org.eclipse.birt.report.engine.executor.QueryItemExecutor.executeQuery(QueryItemExecutor.java:96)
    	at org.eclipse.birt.report.engine.executor.TableItemExecutor.execute(TableItemExecutor.java:62)
    	at org.eclipse.birt.report.engine.internal.executor.dup.SuppressDuplicateItemExecutor.execute(SuppressDuplicateItemExecutor.java:43)
    	at org.eclipse.birt.report.engine.internal.executor.wrap.WrappedReportItemExecutor.execute(WrappedReportItemExecutor.java:46)
    	at org.eclipse.birt.report.engine.internal.executor.l18n.LocalizedReportItemExecutor.execute(LocalizedReportItemExecutor.java:34)
    	at org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutNodes(HTMLBlockStackingLM.java:65)
    	at org.eclipse.birt.report.engine.layout.html.HTMLPageLM.layout(HTMLPageLM.java:92)
    	at org.eclipse.birt.report.engine.layout.html.HTMLReportLayoutEngine.layout(HTMLReportLayoutEngine.java:100)
    	at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.doRun(RunAndRenderTask.java:181)
    	at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.run(RunAndRenderTask.java:77)
    	at org.eclipse.birt.report.service.ReportEngineService.runAndRenderReport(ReportEngineService.java:937)
    	at org.eclipse.birt.report.service.BirtViewerReportService.runAndRenderReport(BirtViewerReportService.java:973)
    	at org.eclipse.birt.report.service.actionhandler.BirtRunAndRenderActionHandler.__execute(BirtRunAndRenderActionHandler.java:76)
    	at org.eclipse.birt.report.service.actionhandler.AbstractBaseActionHandler.execute(AbstractBaseActionHandler.java:90)
    	at org.eclipse.birt.report.presentation.aggregation.layout.EngineFragment.doService(EngineFragment.java:318)
    	at org.eclipse.birt.report.presentation.aggregation.AbstractBaseFragment.service(AbstractBaseFragment.java:76)
    	at org.eclipse.birt.report.servlet.BirtEngineServlet.__doGet(BirtEngineServlet.java:116)
    	at org.eclipse.birt.report.servlet.BaseReportEngineServlet.doGet(BaseReportEngineServlet.java:185)
    	at org.eclipse.birt.report.servlet.BaseReportEngineServlet.doPost(BaseReportEngineServlet.java:224)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
    	at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
    	at org.eclipse.birt.report.servlet.BaseReportEngineServlet.service(BaseReportEngineServlet.java:116)
    	at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:821)
    	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1685)
    	at org.eclipse.birt.report.filter.ViewerFilter.doFilter(ViewerFilter.java:68)
    	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1668)
    	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:581)
    	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
    	at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548)
    	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226)
    	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1158)
    	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:511)
    	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
    	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1090)
    	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
    	at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:213)
    	at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:109)
    	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:119)
    	at org.eclipse.jetty.server.Server.handle(Server.java:517)
    	at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:306)
    	at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:242)
    	at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:261)
    	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95)
    	at org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:75)
    	at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceAndRun(ExecuteProduceConsume.java:213)
    	at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:147)
    	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:654)
    	at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:572)
    	at java.lang.Thread.run(Unknown Source)
    Caused by: org.eclipse.birt.data.engine.odaconsumer.OdaDataException: Cannot execute the statement.
        org.eclipse.datatools.connectivity.oda.OdaException: Invalid query expression; unable to execute query.
    	at org.eclipse.birt.data.engine.odaconsumer.ExceptionHandler.newException(ExceptionHandler.java:52)
    	at org.eclipse.birt.data.engine.odaconsumer.ExceptionHandler.throwException(ExceptionHandler.java:108)
    	at org.eclipse.birt.data.engine.odaconsumer.ExceptionHandler.throwException(ExceptionHandler.java:84)
    	at org.eclipse.birt.data.engine.odaconsumer.PreparedStatement.execute(PreparedStatement.java:586)
    	at org.eclipse.birt.data.engine.executor.DataSourceQuery.execute(DataSourceQuery.java:980)
    	at org.eclipse.birt.data.engine.impl.PreparedOdaDSQuery$OdaDSQueryExecutor.executeOdiQuery(PreparedOdaDSQuery.java:607)
    	at org.eclipse.birt.data.engine.impl.QueryExecutor.execute(QueryExecutor.java:1251)
    	at org.eclipse.birt.data.engine.impl.ServiceForQueryResults.executeQuery(ServiceForQueryResults.java:233)
    	at org.eclipse.birt.data.engine.impl.QueryResults.getResultIterator(QueryResults.java:178)
    	at org.eclipse.birt.report.engine.data.dte.QueryResultSet.<init>(QueryResultSet.java:98)
    	at org.eclipse.birt.report.engine.data.dte.DteDataEngine.doExecuteQuery(DteDataEngine.java:168)
    	at org.eclipse.birt.report.engine.data.dte.AbstractDataEngine.execute(AbstractDataEngine.java:286)
    	at org.eclipse.birt.report.engine.executor.ExecutionContext.executeQuery(ExecutionContext.java:1947)
    	at org.eclipse.birt.report.engine.executor.QueryItemExecutor.executeQuery(QueryItemExecutor.java:80)
    	... 49 more
    Caused by: org.eclipse.datatools.connectivity.oda.OdaException: Invalid query expression; unable to execute query.
    	at org.eclipse.birt.data.oda.mongodb.internal.impl.MDbOperation.execute(MDbOperation.java:136)
    	at org.eclipse.birt.data.oda.mongodb.internal.impl.QueryModel.execute(QueryModel.java:158)
    	at org.eclipse.birt.data.oda.mongodb.impl.MDbQuery.executeQuery(MDbQuery.java:121)
    	at org.eclipse.datatools.connectivity.oda.consumer.helper.OdaQuery.doExecuteQuery(OdaQuery.java:480)
    	at org.eclipse.datatools.connectivity.oda.consumer.helper.OdaQuery.executeQuery(OdaQuery.java:444)
    	at org.eclipse.birt.data.engine.odaconsumer.PreparedStatement.execute(PreparedStatement.java:575)
    	... 59 mor

  2. #2
    Membre averti
    Homme Profil pro
    Inscrit en
    Avril 2011
    Messages
    660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 660
    Points : 331
    Points
    331
    Par défaut
    Parfois la réponse survient en posant la question.

    Lorsque je lançais via Birt Designer, il n'y avait pas dans l'URL le paramètre en question et en rajoutant

    ça fonctionne !

    si ça peut aider quelqu'un !

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

Discussions similaires

  1. créer un noeuds avec des paramétres
    Par Toxine77 dans le forum XMLRAD
    Réponses: 5
    Dernier message: 21/01/2003, 17h11
  2. [xmlrad] Pb de paramètre ?
    Par Pm dans le forum XMLRAD
    Réponses: 7
    Dernier message: 07/01/2003, 15h37
  3. [SWT] Problème de paramètre GridData
    Par yolepro dans le forum SWT/JFace
    Réponses: 4
    Dernier message: 06/12/2002, 11h37
  4. passage en paramètre d'un array dynamique 2D
    Par Guigui_ dans le forum Langage
    Réponses: 4
    Dernier message: 27/11/2002, 20h47
  5. Paramètre requete SQL (ADOQuery)
    Par GaL dans le forum C++Builder
    Réponses: 3
    Dernier message: 30/07/2002, 12h24

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