|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | |
|
Invité de passage
![]() Inscription : décembre 2010 Messages : 17 ![]() |
Bonjour,
Je pense que j'ai 2 problèmes à la fois, mais mes connaissances ont des limites. Pouvez-vous m'aider ? Lorsque j'appelle mon rapport via le serveur qui héberge le viewer de BIRT http://192.168.**.**/birt/frameset?_...e=my+parameter Les valeurs ne s'affichent pas. Seuls les les titres des colonnes et le pied de page apparaissent. Puis en rouge, j'ai le message d'erreur suivant : Citation:
Ce rapport test est très simple et a été construit hier afin de comprendre mon problème : il doit afficher une liste de ID (nombre à 3 chiffres) et de noms correspondant (Pierre, Paul Jacques....). Pas de caractère particulier. Entourage du tableau en noir. |
|
|
|
00
|
|
|
#2 |
|
Membre confirmé
![]() Consultant en Business Intelligence Inscription : mai 2009 Messages : 186 ![]() |
Salut,
je suppose que le rapport s'exécute correctement si il est lancé à partir du designer? Si oui, c'est typiquement un problème de connectique au SGBD, ça peut difficilement être autre chose. Soit le driver requis n'est pas présent sous WEB-INF/lib (si tu utilises 3.7) soit ce n'est pas la bonne version (par exemple un drivers 32bits utilisé sur un système 64bits). Ou encore la connexion Birt du rapport est restée "branchée" sur ta machine de dev, tu as peut être oublié de gérer le changement de connexion en deployant sur le serveur. Vérifie aussi le pare-feu si le SGBD et le serveur Birt ne sont pas sur la même machine. Bon courage! |
|
|
00
|
|
|
#3 | |
|
Invité de passage
![]() Inscription : décembre 2010 Messages : 17 ![]() |
Merci Donino
J'essaie d'exploiter ta réponse depuis plusieurs jours, mais sans succès. Et oui, mon rapport s'exécute correctement à partir du designer. Mon outil principal est Optitime Resource Management. Il y a déjà des rapports standards livrés avec. Ces rapports sont parfaitement exécutés à partir de Optitime, qui utilise le viewer 3.7. Mais ces même rapports ne fonctionnent pas s'ils sont appelés à partir du viewer. Je souhaite donc ajouter des rapports personnalisés. Mon rapport test est construit sous INDIGO. Je demande juste la lecture d'une table pour débuter. Le paramétrage de ma DATA SOURCE est correct car mon rapport s'exécute sous le designer (preview). Lorsque j'appelle mon rapport test à partir de Optitime ou le viewer, il ne s'exécute pas. J'ai toujours l'erreur : Citation:
J'ai ouvert les rapports standard d'Optitime avec INDIGO pour les explorer. Ils utilisent des "reports parameters", mais aucune valeur n'est renseignée par défaut. J'ai essayé les 2 cas de figure avec mon rapport test : valeurs vides ou renseignées : idem, ne fonctionne pas. Je ne sais plus où chercher... |
|
|
|
00
|
|
|
#4 |
|
Membre confirmé
![]() Consultant en Business Intelligence Inscription : mai 2009 Messages : 186 ![]() |
Bonjour,
Tout d'abord, peux tu nous préciser quel est le sgbd utilisé par Opti-time (Mysql, sqlserver, oracle...)? Il semblerait que le problème provienne de la définition de la source de données, parametrée en utilisant un profil stocké de connexion. Pour se débarrasser définitivement de ce problème à mon avis il suffit de définir le datasource en "direct" pour tes rapports personnalisés: quand on définit une nouvelle source de données, le designer nous propose un choix entre un type de datasource ou un profil de connexion: ignore l'option "profil de connexion" et choisis une source de type JDBC. Le driver à renseigner et l'url dépendent du sgbd que tu utilises, par exemple pour mysql 5.1 installé en local: driver: com.mysql.jdbc.Driver (v5.1) url : jdbc:mysql://127.0.0.1/mydatabasename et le driver correspondant mysql-connector-java-5.1.15-bin.jar doit être copié sous WEB-INF/lib (pour le web viewer), ainsi que dans \plugins\org.eclipse.birt.report.data.oda.jdbc_3.7.0.v20110602\drivers (pour le designer) Si tu ne t'en sors pas, il faudra que tu postes la portion XML du rptdesign située entre les balises <data-sources>...</data-sources> Bon courage A+ |
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : décembre 2010 Messages : 17 ![]() |
Merci Donino
Le SGBD d'OptiTime est sqlserver. Je n'ai pas récupéré le profil stocké de connexion. J'ai essayé justement, tout dernièrement : reprendre un rapport d'OptiTime et refaire le layout + master page à ma sauce. Ne fonctionne pas non plus. Dès le départ, le paramétrage de la DATA SOURCE ne permet pas de pinguer. Et même si je modifie ça, au final, le rapport ne s'exécute pas à partir de OptiTime. J'ai défini le DATASOURCE en direct comme tu la décris en utilisant : Microsoft SQL Server JDBC Driver 2.0 sqljdbc4.jar est le driver qui me permet de me connecter sur la BDD et de faire mes requêtes. url : jdbc:sqlserver://192.***.**.**:1433;databaseName=******* sqljdbc4.jar est bien situé un des répertoires que tu m'as prescrit : - WEB-INF/lib (pour le web viewer) pour le second, INDIGO refuse une autre adresse que celle-là, malgré mes tentatives d'enregistrement, il n'y a que là qu'il peut récupérer le driver avec lequel ça fonctionne : - D:\Program Files (x86)\Delia Systems\Opti-Time OnDemand 7\birt\eclipse-reporting-indigo-win32\eclipse Mais en cas où, j'ai bien placé une copie ici : D:\Birt JES\eclipse-reporting-indigo-win32\eclipse\plugins\org.eclipse.birt.report.data.oda.jdbc_3.7.0.v20110602\drivers J'ai remarqué une chose, à partir de INDIGO, dans WINDOW, PREFERENCE, REPORT DESIGN et CLASSPATH J'ai : mysql-connector-java-3.1.12.jar dans ce répertoire, D:\Program Files (x86)\Apache Software Foundation\Tomcat 5.5\webapps\birt\WEB-INF\lib Est-ce normal ? Une piste ? |
|
|
00
|
|
|
#6 |
|
Membre confirmé
![]() Consultant en Business Intelligence Inscription : mai 2009 Messages : 186 ![]() |
Et donc en connexion JDBC avec sqljdbc4.jar, le datasource ping correctement dans le designer? En ayant défini la connexion datasource en direct tu as toujours le même message d'erreur sous Webviewer ou il a changé? En particulier as tu toujours "Cannot open the connection for the driver: org.eclipse.birt.report.data.oda.jdbc.dbprofile"? Penses bien à supprimer l'ancien datasource de ton rapport test, et à affecter un nom différent au nouveau au cas ou, à redefinir ton dataset avec ce nouveau datasource etc. N'utilise aucun rptlibrary ni aucune ressource pour le test, juste le datasource et la table.
Sinon pour mysql-connector-java-3.1.12.jar dans le classpath Indigo ce n'est pas un problème ça n'affecte pas le déploiement dans le web viewer. Enfin, si le problème persiste, le Web viewer Opti-time et le Web viewer standard sont-ils dans la même JVM (la même instance de serveur d'application)? |
|
|
00
|
|
|
#7 |
|
Invité de passage
![]() Inscription : décembre 2010 Messages : 17 ![]() |
Sur mon serveur applications, j'ai : Optitime + BIRT (désigner à la racine + viewer dans le TOMCAT)
Sur mon serveur BDD, j'ai : BDD d'Optitime Je suis tes conseils et recommence un test depuis le début pour décrire mon mode opératoire pas à pas : Je crée un nouveau rapport. Je crée une nouvelle DATASOURCE et je choisis "JDBC DATABASE Connexion for query builder" (je me demande si déjà, je ne fais pas une erreur ici car les rapport existant sous Opti-Time sont "JDBC DATA SOURCE") : - sqlserver puis : - Driver = Microsoft SQL server 2008 JDBC driver - DATABASE = ****** (nom de ma BDD) - Host = ***.***.**.** (IP serveur qui héberge BDD) - Port number= 1433 case "Use integrated authentication" n'est pas cochée - Username = ******* - password = ******* case save password est cochée J'obtiens un url de connexion : jdbc:sqlserver://***.***.**.**:1433;databaseName=********* Test connexion : Ping succeeded Next + Finish Je renomme la DATASOURCE : Data Source test 2 Je crée un DATA SET. J'ajoute une table, lui donne un alias, coche 2 colonnes pour avoir : SELECT USERID, NAME FROM "dbo".S_WORKER AS "WORKER ALIAS" Preview result : mes 2 colonnes + valeurs s'affichent Dans le layout vierge : Insert Table avec 2 colonnes, 1 ligne de détails, data set = data set Je glisse et dépose les 2 data set de gauche (user id et name) sur le layout, sur la ligne détails Onglet Preview : environ 25 lignes de valeurs s'affichent Je déplace mon fichier : new_report_2.rptdesign qui se trouve ici : D:\Birt****\Reporting OTRMS (emplacement de mon designer) à cet endroit : D:\Program Files (x86)\Apache Software Foundation\Tomcat 5.5\webapps\birt (emplacement où Optitime va chercher les rapports) Je le renomme en test.rptdesign Avec firefox (toujours sur le serveur des applications), j'ouvre le portail Optitime, me logue, et demande d'afficher le rapport test en pdf : le rapport s'affiche avec seulement le nom des champs. Aucune valeur. Aucun message d'erreur ici. PS : le serveur vient d'être coupé pour maintenance. Je ne peux pas aller plus loin, notamment pour te récupérer le msg d'erreur qui s'affiche lorsqu'on passe par le viewer web directement. Désolé. Je reviendrai le déposer. |
|
|
00
|
|
|
#8 |
|
Membre confirmé
![]() Consultant en Business Intelligence Inscription : mai 2009 Messages : 186 ![]() |
Salut,
en effet évite d'utiliser le "JDBC DATABASE Connexion for query builder". Perso je ne connais guère cette option réputée utiliser les profils stockés de connexions Eclipse, ce qui semblait être justement le problème indiqué par l'erreur "dbprofile". Utilise un JDBC datasource, comme tu l'as fait dans ton post du 10/10 avec l'url jdbc:sqlserver://.... Sinon tout semble correct, cela devrait fonctionner Si ça ne fonctionne toujours pas et que le même erreur persiste, je te propose une autre manip: ouvre dans le designer un rapport opti-time qui fonctionne correctement, (càd si j'ai bien compris qui fonctionne dans le designer et sous le web viewer opti-time). Puis clique sur l'onglet "XML sources" pour afficher le code XML, recherche les balises <data-sources></data-sources> et postes nous ce qu'il y a entre ces deux balises, éventuellement en masquant le login. Fais la même chose avec ton rapport de test qui ne fonctionne pas paramétré en JDBC datasource. J'espère que d'autres auront des suggestions plus efficaces pour aider à résoudre rapidement ce problème! Bon courage A+ |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com