Existe-t-il un moyen d'externaliser les requêtes de rapport pour les rapports BIRT. Nous devons prendre en charge plusieurs moteurs de base de données et nos requêtes sont donc différentes selon la base de données sous-jacente. Je voudrais utiliser un paramètre de configuration pour indiquer au rapport BIRT d'utiliser un fichier de requête spécifiqueExternaliser les requêtes BIRT
Répondre
Bien sûr, vous pouvez. Si vous codez du Javascript dans le rapport lui-même, il peut accéder aux fichiers sur le disque pour récupérer les requêtes textuelles et modifier la requête avant qu'elle ne soit exécutée.
L'événement pour lequel vous devez coder est beforeOpen
sur la source de données. Nous utilisons en fait cela pour les paramètres de caractères génériques en détectant s'ils sont mis à "*"
et en ajustant dynamiquement la requête SQL, changer de:
select A from B where C = ?
à:
select A from B where ((C = ?) or (1==1))
La modification laid est juste pour que nous ne pas avoir à se soucier de changer les paramètres de position.
Vous pouvez lire une ligne à partir d'un fichier de disque et changer la requête avec quelque chose comme:
try {
var fip0 = new Packages.java.io.FileInputStream("/query.txt");
try {
var fip1 = new Packages.java.io.DataInputStream(fip0);
try {
queryText = fip1.readLine() + "";
} catch(e1) {}
fip1.close();
} catch(e2) {}
fip0.close();
} catch(e3) {}
bien que vous devriez probablement avoir une meilleure vérification des erreurs que :-) je l'ai enlevé comme il est (1) un peu grand; et (2) quelque peu propriétaire.
Je ne connais pas de moyen de le faire dès la sortie de la boîte. Vous pourriez probablement imaginer des scripts assez complexes pour se déclencher sur l'événement onLoad de l'ensemble de données. Comment faire pour placer la même procédure stockée dans chaque base de données? Ensuite, vous pouvez paramétrer les informations de connexion de données (Sur la page Modifier pour la source de données du rapport) et diriger dynamiquement votre rapport pour interroger une source de données spécifique. Tant que le proc stocké est sur toutes les instances, vous obtiendrez les données correctes de la source correcte.
- 1. Comment externaliser des requêtes nommées dans une application d'annotations Hibernate?
- 2. Java - Eclipse: Externaliser les chaînes?
- 3. ASP.net externaliser les paramètres de web.config
- 4. Externaliser le contenu d'InfoWindow de Google Maps
- 5. Comment externaliser une contrainte personnalisée dans Grails?
- 6. Exporter les rapports de birt (en utilisant birt-viewer) directement au format excel (ou tout)
- 7. Birt Web Viewer
- 8. BIRT groupant comment
- 9. Birt Global Integer
- 10. Eclipse BIRT - Sortie XHTML
- 11. Eclipse Galileo Birt
- 12. BIRT Viewer avec Rails App
- 13. Birt rapport chemin du fichier
- 14. Référentiel Maven pour BIRT 2.6.0
- 15. NullPointerException tout en utilisant BIRT
- 16. Comment intégrer BIRT avec Python
- 17. BIRT: PDF - Temps de génération
- 18. Rapport Birt Support d'imprimante ligne
- 19. Intégration Birt rapports dans JSP
- 20. Comment externaliser la conception web sur une application Mvc Asp.Net
- 21. Requêtes paramétrées/sans/en utilisant les requêtes
- 22. Comment externaliser des morceaux de fichier de construction maven?
- 23. Comment utiliser Grails avec rapport BIRT et afficher la visionneuse Web BIRT
- 24. Comment externaliser les éléments d'une page Web pour la rendre configurable?
- 25. Filtres dans les requêtes
- 26. citations dans les requêtes
- 27. Synchroniser les requêtes Ajax
- 28. parcourir les requêtes
- 29. BIRT dans une application de bureau
- 30. BIRT Rapport détaillé avec 1 million d'enregistrements