Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
972 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Problem sous Crystal report

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Problem sous Crystal report

n°2076094
Farow
Posté le 16-05-2011 à 09:42:34  profilanswer
 

Bonjour,
 
J'utilise Crystalreport dans PHP pour afficher des rapports directement sur une page web mais depuis que j'ai exporté la base sur un nouveau poste l'ouverture des rapports ne fonctionne plus et je ne trouve aucun moyen de le faire fonctionner :(
 
je travaille sous ORACLE en SQL et j'utilise WAMp pour créer une interface PHP utilisateur de manier à interagir simplement avec la BDD. Mais je rencontre une erreur PHP avec l'ouverture des rapports qui me bloque dans mon développement
 

Code :
  1. <?php
  2. session_start();
  3. include ("menu.php" );
  4. $param="";
  5. if (isset($_GET['param']))
  6. {//si ce rapport prend des paramètres
  7. if (isset($_POST['formuleCR']))
  8.     {//si nous avons déja la formule de selection
  9.  $param=stripslashes($_POST['formuleCR']);
  10.  //echo $param;
  11.  //on ajoute le lien MODIFIER LES CRITERES DE SELECTION
  12.  ?>
  13.  <form method='post' action='param.php' name='param'>
  14.  <a href="#" onclick="document.forms[0].submit()"><br/><br/><center>MODIFIER LES CRITERES DE SELECTION</center></a>
  15.  <input type="hidden" value="<?php echo "http://" . $_SERVER["SERVER_NAME"] . $_SERVER["REQUEST_URI"]; ?>" name='url'>
  16.  </form>
  17.  <?php
  18. }
  19. else
  20.     {//sinon on bascule vers la page de selection
  21.  ?>
  22.  <form method='post' action='param.php' name='param'>
  23.  <body onLoad='document.forms[0].submit()'>
  24.  <input type="hidden" value="<?php echo "http://" . $_SERVER["SERVER_NAME"] . $_SERVER["REQUEST_URI"]; ?>" name='url'>
  25.  </form>
  26.  <?php
  27.  exit;//et on arrete l'execution de cette page
  28. }
  29. }
  30. set_time_limit(0);
  31. //Récupération du chemin de la page php en cours
  32. $path=$_SERVER['SCRIPT_FILENAME'];
  33. //echo $path;
  34. //echo '<br/>';
  35. //Transformation du chemin pour accéder au rapport
  36. $rpt=str_replace("Crystal.php", "Rapports/".$_GET['rap'].".rpt", $path);
  37. echo $rpt;
  38. com_load_typelib("objectfactory.dll" );
  39. $ObjectFactory= New COM("CrystalReports12.ObjectFactory.1" );
  40. $crapp = $ObjectFactory->CreateObject("CrystalRunTime.Application" );
  41. $creport = $crapp->OpenReport($rpt, 1);// on ouvre le rapport


 
 
dans ma page PHP j'obtient le code erreure suivant :

Citation :

Fatal error: Uncaught exception 'com_exception' with message '<b>Source:</b> Unknown<br/><b>Description:</b> Unknown' in C:\wamp\www\CG92\Crystal.php:41 Stack trace: #0 C:\wamp\www\CG92\Crystal.php(41): com->CreateObject('CrystalRunTime....') #1 {main} thrown in C:\wamp\www\CG92\Crystal.php on line 41


 
Merci d'avance

mood
Publicité
Posté le 16-05-2011 à 09:42:34  profilanswer
 

n°2076101
olivthill
Posté le 16-05-2011 à 10:10:01  profilanswer
 

Le message dit que Crystal Report n'est pas correctement installé sur le poste de l'utilisateur. Il manque au moins un élément.

n°2076154
Farow
Posté le 16-05-2011 à 11:35:25  profilanswer
 

j'ai pourtant installe Crystal report  sur mon poste avec las 2 CD fournit dans le logiciel.

n°2076223
olivthill
Posté le 16-05-2011 à 13:06:10  profilanswer
 

L'élément manquant semble être "Source".
Or ce mot "Source" est souvent utilisé dans les configurations pour indiquer un chemin vers quelque chose.
Par exemple, si Crystal Report accède à la base de données via ODBC, il faudrait créer une "Source ODBC" sur le poste.
Ou bien c'est peut-être autre chose.

n°2076255
Farow
Posté le 16-05-2011 à 14:13:04  profilanswer
 

j'ai réinstallé  runtime sur mon poste et apparemment sa passe mais j'ai une autre erreurs un peut plus loin dans le code
 
Fatal error: Uncaught exception 'com_exception' with message '<b>Source:</b> Crystal Reports ActiveX Designer<br/><b>Description:</b> Echec de la connexion. Détails : [Code du fournisseur de la base de données : 12170 ]' in C:\wamp\www\CG92\Crystal.php:99 Stack trace: #0 C:\wamp\www\CG92\Crystal.php(99): variant->ReadRecords() #1 {main} thrown in C:\wamp\www\CG92\Crystal.php on line 99
 
je te donne l’intégralité du code :

Code :
  1. $ObjectFactory= New COM("CrystalReports11.ObjectFactory.1" );
  2. $crapp = $ObjectFactory->CreateObject("CrystalRunTime.Application" );
  3. $creport = $crapp->OpenReport($rpt, 1);// on ouvre le rapport
  4. if ($creport->Database->Tables->Count>0)
  5. {//s'il contient des tables
  6.  $creport->Database->Tables->Item(1)->ConnectionProperties['User ID'] =  $_SESSION['login'];//on met les infos de connection
  7.  $creport->Database->Tables->Item(1)->ConnectionProperties['Password'] = $_SESSION['pass'];
  8. }
  9. //on rafraichit le rapport
  10. $creport->EnableParameterPrompting = 0;
  11. $creport->DiscardSavedData;//on efface les infos du rapport
  12. $creport->ReadRecords();//on lit les infos
  13. $pdf=str_replace("Crystal.php", "PDF/".$_GET['rap'].".pdf", $path);
  14. $creport->ExportOptions->DiskFileName = $pdf;//nom du fichier
  15. $creport->ExportOptions->PDFExportAllPages=true;//propriété du document, toutes les pages sont exportés dans un seul pdf
  16. $creport->ExportOptions->DestinationType=1;//type de document (1=fichier)
  17. $creport->ExportOptions->FormatType=31; //type de document (html=32 pdf=31 rtf=4)
  18. $creport->Export(false);//on démarre l'exportation
  19. $creport = null;
  20. $crapp = null;
  21. $ObjectFactory = null;
  22. set_time_limit(max_execution_time);


 
la ligne 99 du code erreurs correspond a :
$creport->ReadRecords();//on lit les infos
 
Un problème d’accès a la BDD pourtant dans le reste de la page PHP ma BDD fonctionne bien les liste déroulante sont bien remplie avec les éléments de la BDD.
 
si quelqu’un a une idée ?

n°2076271
olivthill
Posté le 16-05-2011 à 14:52:10  profilanswer
 

Je n'ai pas beaucoup utilisé Crystal report, et peut-être que je me trompe, mais il me semble qu'il faut configurer Crystal Report pour qu'il aille chercher ses données par un certain chemin, et que ce n'est pas nécessairement le même chemin que pour l'accès via les fonction PHP ordinaires (ce qui expliquerait pourquoi les listbox sont bonnes et pas le report). Je pense (depuis le début) que ce serait un problème du style "source de données ODBC" qu'il faut définir sur le poste, ou "connection string" à définir ou à adapter. Donc ce serait un problème annexe à l'installation puisque ce serait un problème de "configuration" de l'environnement. Est-ce que vous utilisez ODBC ? Est-ce que vous savez ce qu'est la définition d'une source ODBC (attention, il est possible qu'il faille les droits administrateur) ? Est-ce que vous savez comment configurer Crystal Report ?

n°2076278
Farow
Posté le 16-05-2011 à 15:06:03  profilanswer
 

Je ne vois pas ce que tu veut dire par ODBC j'ai mis la BDD sous ORACLE expresse 11g et je développe en PHP via wamp en localhost.Tu sait moi je suis développeur C/C++ alors les BDD et le PHP je ni connait pas grand chose en plus je reprend le code de mon prédécesseur alors je suis un peut dans le flou total, je vai regarder pour une configuration de crystal

n°2076308
olivthill
Posté le 16-05-2011 à 15:51:25  profilanswer
 

Oracle peut être accédé par plusieurs moyens : ODBC, tnsmane, etc.
 
En tous cas, sauf erreur (et en attendant qu'une autre personne connaissant mieux Crystal Report que moi réponde), il me semble qu'il faut indiquer à Crystal Report quel est le nom de la base de données, du schéma, etc., parce que Crystal Report ne peut pas deviner ces choses-là tout seul.

n°2076779
Farow
Posté le 18-05-2011 à 10:55:34  profilanswer
 

Après quelques recherches de mon coté et quelques tentatives infructueuses,
 
je réexplique mon problème, je travaille sous oracle expresse édition 11g et j'utilise un outil de crystalrepports pour visualiser les .rpt dans mon application PHP. Seulement lorsque j'ouvre un rapport j’obtiens l’erreur suivante :échec de la connexion. Détails : [Code du fournisseur de la base de données : 12170 ]'
ou Échec de la connexion. Détails : [Code du fournisseur de la base de données : 12154 ]'
je pense qu'il y a un problème de connexion avec la BDD oracle si quelqu'un a une idée ou a déjà rencontré ce problème.
 
merci d'avance cela fait plusieurs jours que je bloque sur ce problème


Message édité par Farow le 18-05-2011 à 10:56:15

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Problem sous Crystal report

 

Sujets relatifs
Problem application client/serveur avec interface graphiquecrystal reports 9 et PHP
Problem de Filtre en SQLun petite problem avec les processeur
[SSRS] Positionnement dans champ dans Reportproblem en c et en assembleur
SQL2008 - Report server[CSS] problème de mise en page
Macro recherche, report, modificationproblem ds un programma socket entre serveur et client
Plus de sujets relatifs à : Problem sous Crystal report


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR