|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre émérite
![]() Développeur informatique Inscription : juin 2004 Messages : 697 ![]() |
Bonjour,
J'importe dans un rapport les données d'un fichier csv situé dans le dossier du rapport. Mais je suis obligé de lui spécifier le chemin absolu, ce qui risque de poser quelques problèmes en déploiement Est-il vraiment impossible de spécifier un chemin relatif, ou suis-je passé à côté de quelque chose ? Merci d'avance de votre aide.
__________________
Roland |
|
|
00
|
|
|
#2 |
![]() ![]() Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT Inscription : janvier 2005 Messages : 7 299 ![]() |
Tu peux lui donner un chemin relatif mais il faut que le resourcePath corresponde à ce que tu veux.
|
|
|
00
|
|
|
#3 |
|
Membre émérite
![]() Développeur informatique Inscription : juin 2004 Messages : 697 ![]() |
Merci beaucoup, BiM. Je ne suis pas sûr de tout comprendre
1/ Cela signifie-t-il que mon fichier à plat doive se trouver dans le dossier défini par le resourcePath, ou bien que mon chemin relatif doive prendre pour base le resourcePath ? 2/ Comment puis-je connaître le resourcePath ? Puis-je le modifier ? Avec quelles conséquences ?
__________________
Roland |
|
|
00
|
|
|
#4 | |
|
Invité de passage
![]() Inscription : avril 2008 Messages : 15 ![]() |
Bonjour,
Moi je charge des fichier CSV avec la façon suivante : J'utilise la classe Edition : http://business-intelligence.develop...eneration_j2ee Comme suit : Citation:
De plus dans le data source de mon CSV : dans Property binding ---> Home folder j'utilise le paramètre "cheminCSV" de la façon suivante : params["cheminCSV"].value J’espère que ça vous aideras. |
|
|
|
00
|
|
|
#5 | ||||||
|
Membre confirmé
![]() Consultant en Business Intelligence Inscription : mai 2009 Messages : 186 ![]() |
Hello,
Citation:
Citation:
Code :
Code :
Bon courage A+ |
||||||
|
|
00
|
|
|
#6 |
|
Membre émérite
![]() Développeur informatique Inscription : juin 2004 Messages : 697 ![]() |
Merci à tous les deux pour vos réponses;
vOnYuRi, mes rapports s'éditent via le Birt-Viewer, du coup, si je ne me trompe, ta méthode ne marchera pas pour moi. donino, merci pour ces détails. Encore une question : - Comme je préférerais ne pas toucher au Resource_path chez les clients, dans le Birt Viewer, quel est le Resource_Path par défaut ? J'ai lu quelque part que c'était webinf, ailleurs que c'était birt-viewer, mais mes essais avec ces deux hypothèses n'ont rien donné. Merci d'avance
__________________
Roland |
|
|
00
|
|
|
#7 | |
|
Invité de passage
![]() Inscription : avril 2008 Messages : 15 ![]() |
Citation:
Dans le rapport j'utilise des paramètres, dont le lien des fichiers flat. |
|
|
|
00
|
|
|
#8 |
|
Membre confirmé
![]() Consultant en Business Intelligence Inscription : mai 2009 Messages : 186 ![]() |
La doc du birt viewer indique "The default value is the web application root folder", ce qui correspondrait donc au dossier d'install de deploiement. Mais j'avoue que c'est flou, et qu'il n'est finalement pas certain qu'un fichier source soit considéré comme une ressource classique.
Don si tu ne souhaites pas modifier ce paramètre, tu devrais essayer de simplement mettre ce fichier csv dans le répertoire de ton rapport, donc par défaut ${birt home}/report, même si le chemin a été mis en dur dans le designer. Fais un essai et dis nous si ça fonctionne dans ton contexte. Si ça ne marche pas il faudra peut être envisager une solution comme celle de vonYuri, avec un paramètre éventuellement caché. |
|
|
00
|
|
|
#9 |
|
Membre émérite
![]() Développeur informatique Inscription : juin 2004 Messages : 697 ![]() |
Ca ne marche pas en le mettant dans le dossier du rapport. Il cherche bien à construire le chemin depuis le resource_path. Dans le designer, c'est simple, c'est le dossier de l'exe birtdesigner. Mais dans le Viewer
Pour identifier le RESOURCE_PATH, j'ai eu l'idée d'utiliser GetResourcePath d'EngineConfig. Mais quelle clause import ou importPackage faut-il pour pouvoir l'utiliser dans un script JS à l'intérieur du rapport.
__________________
Roland |
|
|
00
|
|
|
#10 |
![]() ![]() Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT Inscription : janvier 2005 Messages : 7 299 ![]() |
Il faut le setter AVANT l'exécution du rapport, en le passant en paramètre, je crois que c'est __resourcePath si tu utilises la WebViewer.
|
|
|
00
|
|
|
#11 |
|
Membre confirmé
![]() Consultant en Business Intelligence Inscription : mai 2009 Messages : 186 ![]() |
Bonjour, je reviens sur ce problème, je viens de tester une solution simple et élégante pour le résoudre.
Tout d'abord je confirme que le resource_path par défaut du viewer est bien le répertoire root de l'appli web, on peut le visualiser avec par exemple un "dynamic text" au début du rapport, avec pour contenu l'expression: Code :
"Le Resource_Path est: "+reportContext.getAppContext().get("birt.viewer.resource.path"); - Créer un répertoire "csv" à la racine de l'application web birt, y copier le(s) fichier(s) csv - Dans le designer, aller dans le datasource du fichier csv, puis: Property bindings -> Home folder -> entrer l'expression: Code :
reportContext.getAppContext().get("birt.viewer.resource.path") +"/csv"; A+ |
|
|
10
|
|
|
#12 |
|
Membre émérite
![]() Développeur informatique Inscription : juin 2004 Messages : 697 ![]() |
Merci ! Ca marche !
Je ne connaissais pas le GetAppContext. On peut trouver quelque part la liste des messages (comme "birt.viewer.resource.path") qu'on peut lui passer ?
__________________
Roland |
|
|
00
|
|
|
#13 | |
|
Membre confirmé
![]() Consultant en Business Intelligence Inscription : mai 2009 Messages : 186 ![]() |
Citation:
Code :
reportContext.getAppContext().toString(); |
|
|
|
10
|
|
|
#14 |
|
Membre émérite
![]() Développeur informatique Inscription : juin 2004 Messages : 697 ![]() |
__________________
Roland |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com