Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > Jasper
Jasper Forum d'entraide sur Jasper Reports. Avant de poster --> FAQ Jasper, Tutoriels Jasper
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 03/01/2011, 09h33   #1
Futur Membre du Club
 
Christophe
Inscription : janvier 2007
Messages : 32
Détails du profil
Informations personnelles :
Nom : Christophe
Âge : 34

Informations forums :
Inscription : janvier 2007
Messages : 32
Points : 19
Points : 19
Par défaut Java, PHP, iReport Help

Bonjour,
Je suis bloquer sur l'intégration PHP Javabridge sous Linux Debian !!

J'ai suivis le tutaux pour l'integration de Javabridge jusque la aucun problème depuis tomcat 5 tout fonctionne correctement.
J'ai meme fai un test de fichier PHP-Java :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
<?php require_once("./testJava/java/Java.inc");
    // créer une instance de la classe Java java.lang.System dans PHP
    $system = new Java('java.lang.System');
 
    // accéder aux propriétés
    echo 'Java version='.$system->getProperty('java.version').' <br />';
    echo 'Java vendor='.$system->getProperty('java.vendor').'<br />';
    echo 'OS='.$system->getProperty('os.name').'  '.$system->getProperty('os.version').' on '.$system>getProperty('os.arch').'<br />';
 
    // Exemple avec java.util.Date
    $formater = new Java('java.text.SimpleDateFormat',"EEEE, MMMM dd, yyyy 'at' h:mm:ss a zzzz");
 
    echo $formater->format(new Java('java.util.Date'));
    ?>
Se code focntionne parfaitement il me renvoie bien les infos que je luis demande voici le reulstat :
Code :
1
2
3
4
5
 
Java version=1.6.0_21 
Java vendor=Sun Microsystems Inc.
OS=Linux 2.6.26-2-686 on i386
vendredi, décembre 31, 2010 at 1:56:39 PM Heure d'Europe centrale
Bon pour moi j'ai pas de souci sur l’intégration, Java fonctionne avec php.

J'en viens à mon problème, je dois générer des Rapports avec Jasperreport, donc je me suis aidé de procédure qui décrive la marche à suivre avec un code :
Code :
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
 
<?php require_once("./testJava/java/Java.inc");
$reportPath = "./jasper";
$jasperReportsLib = "./testJava/java/jasper";
 
$handle = @opendir($jasperReportsLib);
while(($new_item = readdir($handle))!==false) {
 
                $java_library_path = 'file:'.$jasperReportsLib.'/'.$new_item.';';
                echo ' file ===>'.$java_library_path.'<BR>';
            }
            try {
                // chargement des librairies au classpath 
                java_require($java_library_path);
 
                // création de la connexion JDBC 
                $Conn = new Java("org.altic.jasperReports.JdbcConnection");
                // driver        
                $Conn->setDriver("com.mysql.jdbc.Driver");
                // url de connexion
                $Conn->setConnectString("jdbc:mysql://localhost/db","db1","db1");
                // utilisateur
                $Conn->setUser("user");
                // mot de passe
                $Conn->setPassword("user");
 
                // Compilation du fichier JRXML en fichier Jasper        
                $sJcm = new JavaClass("net.sf.jasperreports.engine.JasperCompileManager");
                $report = $sJcm->compileReport($reportsPath ."ListingClient.jrxml");
 
                // Remplir le modèle avec les données        
                $sJfm = new JavaClass("net.sf.jasperreports.engine.JasperFillManager");
                $print = $sJfm->fillReport(        
                $report, 
                new Java("java.util.HashMap"),
                $Conn->getConnection()
                );
 
                // Export du fichier au format pdf
                $sJem = new JavaClass("net.sf.jasperreports.engine.JasperExportManager");
                $sJem->exportReportToPdfFile($print, $reportsPath .$reportFileName.".pdf");
 
                if (file_exists($reportsPath .$reportFileName.".pdf")){
                     header('Content-disposition: attachment; filename="'.$reportFileName.'.pdf"');
                     header('Content-Type: application/pdf');
                     header('Content-Transfer-Encoding: binary');
                     header('Content-Length: '. @filesize($reportsPath . $reportFileName.".pdf"));
                     header('Pragma: no-cache');
                     header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
                     header('Expires: 0');
                     set_time_limit(0);
                     @readfile($reportsPath .$reportFileName.".pdf") or die("problem occurs.");
                 }
 
            } catch (JavaException $ex) {
                 $trace = new Java("java.io.ByteArrayOutputStream");
                $ex->printStackTrace(new Java("java.io.PrintStream", $trace));
                print "java stack trace: $trace\n";
            }    
        ?>
et la je me retrouve avec un beau message d'erreur :
Code :
1
2
 
stack trace: java.lang.Exception: CreateInstance failed: new org.altic.jasperReports.JdbcConnection. Cause: java.lang.ClassNotFoundException: org.altic.jasperReports.JdbcConnection VM: 1.6.0_21@http://java.sun.com/ at .......
On dirais que je n'arrive pas à charger mes fichiers .jar ( sachant que dans le répertoire j'ai bien mon fichier alticJasper.jar + tous les autres *.jar dont j'ai besoin) dont j'ai besoin, j'ai vue sur certain site qu'ils disaient qu'il fallait les mètre dans le répertoire du JVM mais rien n'y fait :/

Quelqu'un aurait il une petite idée pour résoudre ce problème ?
Je sais que ce sujet a déjà été traiter mais la je suis bloqué je ne trouve pas de solution :/
Sl@ke est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/01/2011, 09h44   #2
Rédacteur/Modérateur
 
Avatar de JauB
 
Homme Faisel
Ingénieur COBOL/AS400
Inscription : octobre 2005
Messages : 1 713
Détails du profil
Informations personnelles :
Nom : Homme Faisel
Âge : 31
Localisation : Maroc

Informations professionnelles :
Activité : Ingénieur COBOL/AS400
Secteur : Finance

Informations forums :
Inscription : octobre 2005
Messages : 1 713
Points : 2 712
Points : 2 712
Envoyer un message via AIM à JauB Envoyer un message via MSN à JauB Envoyer un message via Yahoo à JauB
Bonjour,
Tu as essayé d'ajouter tes .jar dans le CLASSPATH ?
Je ne fais pas du PHP mais sur ce tuto on parle bien du chargement des .jar dans le CLASSPATH.
Bon courage
__________________
*** Ingénieur COBOL/AS400 ***

-------------------------------------------------------------------

Mes articles, Mon Blog

Rubrique Jasper/iReport :
------- Forum Jasper --------
----- FAQ Jasper/iReport -----

JauB est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/01/2011, 15h56   #3
Futur Membre du Club
 
Christophe
Inscription : janvier 2007
Messages : 32
Détails du profil
Informations personnelles :
Nom : Christophe
Âge : 34

Informations forums :
Inscription : janvier 2007
Messages : 32
Points : 19
Points : 19
Salut,

désoler de répondre si tard ^^ J'ai trouver mon souci en faite cela venez d'un tuto qui disais de faire un cp du dossier, en faite j'ai crée un lien qui point sur mon dossier et voila op tout fonctionne correctement


Merci
Sl@ke est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/07/2011, 15h18   #4
Membre du Club
 
Homme
Analyse système
Inscription : mars 2011
Messages : 406
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Analyse système

Informations forums :
Inscription : mars 2011
Messages : 406
Points : 67
Points : 67
Bonjour Sl@ke
voila je travaille avec php sous windows et je veux appelé le jrxml depuis php tu peu m'expliquer les étape que je doit faire et l'envirenement pour faire la relation entre php et ireport via la pont javabridge ou je doit le déployé et est se que le jdk suffisant ou obliger d'avoir tomcat.....


merci d'avance !!!
benhsaien est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/08/2011, 15h53   #5
Membre du Club
 
Homme
Analyse système
Inscription : mars 2011
Messages : 406
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Analyse système

Informations forums :
Inscription : mars 2011
Messages : 406
Points : 67
Points : 67
Bonjour,
j'ai ariivé a faire l'intéraction entre php et java mais quand je fait le code d'appelle de jrxml j'ai l'erreur suivent :
Code :
Warning: java_require() not supported anymore. Please use
le code est :
Code :
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
<?php
        require_once("C:/Program Files/Apache Software Foundation/Tomcat 6.0/webapps/JavaBridge/java/Java.inc");
		$reportsPath ="etat/";
		$reportFileName = "test_etat";
		$jasperReportsLib = "C:/Program Files/Apache Software Foundation/Tomcat 6.0/webapps/JavaBridge/lib jasper";
 
		 if(extension_loaded('java')) {
 
			// lecture du répertoire où sont rengés les librairies utiles à JasperReports
			$handle = @opendir($jasperReportsLib);
 
			// ajout de tous les fichier jar au chemin de classe (Class Path)
			while(($new_item = readdir($handle))!==false) {
 
				$java_library_path .= 'file:'.$jasperReportsLib.'/'.$new_item .';';
			}
 
 
			try {
				// chargement des librairies au classpath 
				java_require($java_library_path);
 
				// création de la connexion JDBC 
				$Conn = new Java("org.altic.jasperReports.JdbcConnection");
				// driver		
				$Conn->setDriver("com.mysql.jdbc.Driver");
				// url de connexion
				$Conn->setConnectString("jdbc:mysql://localhost/gestion_missions");
				// utilisateur
				$Conn->setUser("root");
				// mot de passe
				$Conn->setPassword(null);
 
				// Compilation du fichier JRXML en fichier Jasper		
				$sJcm = new JavaClass("net.sf.jasperreports.engine.JasperCompileManager");
				$report = $sJcm->compileReport($reportsPath .$reportFileName.".jrxml");
 
				// Remplir le modèle avec les données		
				$sJfm = new JavaClass("net.sf.jasperreports.engine.JasperFillManager");
				$print = $sJfm->fillReport(		
				$report, 
				new Java("java.util.HashMap"),
				$Conn->getConnection()
				);
 
				// Export du fichier au format pdf
				$sJem = new JavaClass("net.sf.jasperreports.engine.JasperExportManager");
				$sJem->exportReportToPdfFile($print, $reportsPath .$reportFileName.".pdf");
 
				if (file_exists($reportsPath .$reportFileName.".pdf")){
				     header('Content-disposition: attachment; filename="'.$reportFileName.'.pdf"');
				     header('Content-Type: application/pdf');
				     header('Content-Transfer-Encoding: binary');
				     header('Content-Length: '. @filesize($reportsPath . $reportFileName.".pdf"));
				     header('Pragma: no-cache');
				     header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
				     header('Expires: 0');
				     set_time_limit(0);
				     @readfile($reportsPath .$reportFileName.".pdf") or die("problem occurs.");
				 }
 
			} catch (JavaException $ex) {
				 $trace = new Java("java.io.ByteArrayOutputStream");
				$ex->printStackTrace(new Java("java.io.PrintStream", $trace));
				print "java stack trace: $trace\n";
			}
		}
		else{
		echo "nulll<br>";
		echo extension_loaded('java');
		}
 
		?>
t'a pas une idéé ou je doit méttre les .jar de jasper ???
benhsaien est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h54.


 
 
 
 
Partenaires

Hébergement Web