web-dev-qa-db-ja.com

Crystal Reports 11.5とPHPおよびMySQL

私はCrystal Reportsを初めて使用し、バージョンCrystal Reports 11.5を使用しています。

私の要件は次のとおりです。

  1. プログラミング環境はPHPです。
  2. データベースはMySQLです。
  3. Crystal Reportを使用してPDFレポートを生成します+ PHP + MySQL。

現在、COMオブジェクトを使用してPHPを使用してCrystal Reportに接続し、サンプルの静的PDFレポートを生成できます。

私の主なタスクは、MySQLから値を取得し、Crystal Reportsに値を渡してPDFを生成することで、PHPですべての処理を行うことです。このタスクを達成するために支援が必要です。ずっと良くなります。

これは私がこれまでに持っているものです:

$my_report = "E:\\xampp\\htdocs\\crystal\\Test1.rpt"; 

$my_pdf = "E:\\xampp\\htdocs\\crystal\\test.pdf"; 

$o_CrObjectFactory = new COM('CrystalReports11.ObjectFactory.1');

// Create the Crystal Reports Runtime Application.


$o_CrApplication =$o_CrObjectFactory->CreateObject("CrystalDesignRunTime.Application"); 

//------ Open your rpt file ------ 

$creport = $o_CrApplication->OpenReport($my_report, 1); 

//------ Connect to DB2 DataBase ------ 

**this is the hard part where I am not able to complete connection to mysql**
$o_CrApplication->LogOnServer('which library','mlims','root',''); 

//------ Put the values that you want -------- 

$creport->RecordSelectionFormula="{parameter.id}='1'"; 

//------ This is very important. DiscardSavedData make a 

// Refresh in your data -------

$creport->DiscardSavedData; 

//------ Read the records :-P ------- 

$creport->ReadRecords(); 

//------ Export to PDF ------- 

$creport->ExportOptions->DiskFileName=$my_pdf; 
$creport->ExportOptions->FormatType=31; 
$creport->ExportOptions->DestinationType=1; 
$creport->Export(false); 

//------ Release the variables 
$creport = null; 
$crapp = null; 
$ObjectFactory = null; 

上記のコードを見るとわかるように、過去数日間にしようとしていたMysqlサーバーに接続する必要があります。私はネット上で多くの例を試しましたが、それらのほとんどはMySQLではなくSQL Server用です。

17

手順に従ってください:

  1. MySQL Connector J jarファイルをダウンロードします。そのダウンロードには、mysql-connector-Java-3.1.14-bin.jarのようなjarファイルが含まれている必要があります。

  2. CrystalReports CRConfig.xmlファイルで定義されているように、新しくダウンロードしたjarファイルの場所をクラスパスに追加します。 Windowsマシンでは、構成ファイルはC:¥Program Files¥Business Objects¥Common¥3.5¥Java¥CRConfig.xmlのような場所にあります。

  3. CRConfig.xmlを変更したら、Crystal Reportsを閉じて再度開きます。

  4. メニューから:[ファイル]-> [新規]-> [標準レポート]
  5. 「使用可能なデータソース」リストで、「新規接続の作成」をダブ​​ルクリックして展開します
  6. ダブルクリックして「JDBC(JNDI)」を展開します
  7. 「新しい接続を作成」をダブ​​ルクリックします
  8. 接続URL:「jdbc:mysql://db.example.com/dbname」(独自のデータベースホスト名とデータベース名を使用)。データベースクラス名:「com.mysql.jdbc.Driver」
  9. 「次へ」をクリックします
  10. プロンプトが表示されたら、データベースのユーザーとパスワードの組み合わせを入力します。

これで、データベース内のテーブル/列を検査して、レポートを開始できるはずです。

参照 を参照してください

3