Creating Crystal Report via PHP Hangs

I am trying to create a crystal report using php script. the script seems to hang right after ReadRecords (); An error message does not appear in the log file. Am I doing something wrong?

$my_report = "C:\\inetpub\\wwwroot\\mamobile\\reports\\invoice.rpt"; $my_pdf = "C:\\inetpub\\wwwroot\\mamobile\\reports\\test.pdf"; $ObjectFactory = new COM("CrystalReports115.ObjectFactory.1"); $crapp = $ObjectFactory->CreateObject("CrystalDesignRuntime.Application.11"); $creport = $crapp->OpenReport($my_report, 1); $creport->EnableParameterPrompting = 0; $creport->DiscardSavedData; $creport->ReadRecords(); $creport->FormulaSyntax = 0; $creport->RecordSelectionFormula = "{invoice.invoiceid} = 20070128114815"; $creport->ExportOptions->DiskFileName = $my_pdf; $creport->ExportOptions->FormatType = 31; $creport->ExportOptions->DestinationType=1; $creport->Export(false); $creport = null; $crapp = null; $ObjectFactory = null; 

A similar version of this code works for another report.

 $my_report = "C:\\inetpub\\wwwroot\\mamobile\\reports\\" . $name; $my_pdf = "C:\\inetpub\\wwwroot\\mamobile\\reports\\test.pdf"; $ObjectFactory = new COM("CrystalReports115.ObjectFactory.1"); $crapp = $ObjectFactory->CreateObject("CrystalDesignRuntime.Application.11"); $creport = $crapp->OpenReport($my_report, 1); $creport->EnableParameterPrompting = 0; $creport->DiscardSavedData; $creport->ReadRecords(); $creport->ExportOptions->DiskFileName = $my_pdf; $creport->ExportOptions->FormatType = 31; $creport->ExportOptions->DestinationType=1; $creport->Export(false); $creport = null; $crapp = null; $ObjectFactory = null; 
+8
php iis crystal-reports
source share
2 answers

This is what fixed my problem.

 $my_report = "C:\\inetpub\\wwwroot\\mamobile\\reports\\invoice.rpt"; $my_pdf = "C:\\inetpub\\wwwroot\\mamobile\\reports\\test.pdf"; $ObjectFactory = new COM("CrystalReports115.ObjectFactory.1"); $crapp = $ObjectFactory->CreateObject("CrystalRuntime.Application.11"); $creport = $crapp->OpenReport($my_report, 1); $creport->EnableParameterPrompting = 0; $creport->FormulaSyntax = 0; $creport->DiscardSavedData(); $creport->RecordSelectionFormula = "{invoice.invoiceid} = 20070128114815"; $creport->ReadRecords(); $creport->ExportOptions->DiskFileName = $my_pdf; $creport->ExportOptions->FormatType = 31; $creport->ExportOptions->DestinationType=1; $creport->Export(false); $creport = null; $crapp = null; $ObjectFactory = null; 
+3
source share
  • You should use DIRECTORY_SEPARATOR instead of \\

  • You call $creport->DiscardSavedData - if it is a variable, it does nothing. If it is a function call, it should be $creport->DiscardSavedData() .

  • try these settings at the beginning of your script:

     ini_set('error_reporting', -1); # displays all errors ini_set('display_errors', 1); # reports errors to browser/console 
+1
source share

All Articles