各製品の資料を入手。
詳細はこちら →Crystal Reports でMySQL のデータに連携して帳票を作成
レポートウィザードを使って、最新のMySQL 連携データを使った帳票を作成。
最終更新日:2022-06-11
この記事で実現できるMySQL 連携のシナリオ
こんにちは!ウェブ担当の加藤です。マーケ関連のデータ分析や整備もやっています。
Crystal Reports には、JDBC 標準向けのサポートが組み込まれています。この記事では、MySQL の機能を持つ帳票を作成するレポート作成ウィザードの使い方を説明します。
MySQL JDBC Driver のインストール
CData JDBC Driver for MySQL を、ドライバーのJAR をCrystal Reports のクラスパスに含めてインストール:DataDriverCommonElement の下のClassPath element のパスに、 .jar を含むファイルのフルパスを追加します。
CRConfig.xml は通常C:\Program Files (x86)\SAP BusinessObjects\SAP BusinessObjects Enterprise XI 4.0\java に配置されます。— パスはインストールによって若干異なる場合があります。ドライバーのJAR はインストールディレクトリの[lib]サブフォルダ内にあります。
ClassPath にJAR を追加したら、Crystal Reports を再起動します。
MySQL のデータに接続
下記の手順に従って、レポート作成ウィザードを使ってMySQL 接続を作成します。
- 新しい空の帳票で、[Create New Connection]>[JDBC (JNDI)]をクリックします。
ウィザードでJDBC 接続URL を選択します。
jdbc:mysql:User=myUser;Password=myPassword;Database=NorthWind;Server=myServer;Port=3306;
ドライバーのクラス名を設定:
cdata.jdbc.mysql.MySQLDriver
Server およびPort プロパティがMySQL への接続には必須です。IntegratedSecurity をFALSE に設定した場合、User、Password も必須になります。 オプションで、Database を設定することもできます。Database は設定がない場合すべてのデータベースを使えるようになります。
パスワード方式によるSSH 接続
パスワード方式によるSSH接続時に必要なプロパティ一覧を以下に示します。
- User: MySQL のユーザ
- Password: MySQL のパスワード
- Database: MySQL の接続先データベース
- Server: MySQL のサーバー
- Port: MySQL のポート
- UserSSH: "true"
- SSHAuthMode: "Password"
- SSHPort: SSH のポート
- SSHServer: SSH サーバー
- SSHUser: SSH ユーザー
- SSHPassword: SSH パスワード
接続文字列形式では以下のようになります。
User=admin;Password=adminpassword;Database=test;Server=mysql-server;Port=3306;UseSSH=true;SSHAuthMode=Password;SSHPort=22;SSHServer=ssh-server;SSHUser=root;SSHPassword=sshpasswd;
公開鍵認証方式方式によるSSH 接続
公開鍵認証によるSSH接続時に必要なプロパティ一覧を以下に示します。
- User: MySQL のユーザ
- Password: MySQL のパスワード
- Database: MySQL の接続先データベース
- Server: MySQL のサーバー
- Port: MySQL のポート
- UserSSH: "true"
- SSHAuthMode: "Public_Key"
- SSHClientCertType: キーストアの種類
- SSHPort: SSH のポート
- SSHServer: SSH サーバー
- SSHUser: SSH ユーザー
- SSHClientCert: 秘密鍵ファイルのパス
接続文字列形式では以下のようになります。
User=admin;Password=adminpassword;Database=test;Server=mysql-server;Port=3306;UseSSH=true;SSHAuthMode=Public_Key;SSHClientCertType=PUBLIC_KEY_FILE;SSHPort=22;SSHServer=ssh-server;SSHUser=root;SSHClientCert=C:\Keys\key.pem;
帳票をデザイン
JDBC 接続をMySQL に追加したら、レポート作成ウィザードを使ってMySQL を帳票に追加できます。
-
帳票に必要なテーブルやフィールドを選択して、データソースを設定します。この例では、Orders テーブルのShipName およびFreight カラムを使います。
-
チャートの種類を設定 ウィザードを完了すると、Crystal Reports はMySQL のデータ に実行されるSQL クエリをビルドします。ドライバーは、ライブMySQL のデータ に対してクエリを実行します。
- 必要に応じて、ほかのフィルタや帳票テンプレートを設定します。
-
データのインポートが終わったら、データをサマライズもしくはソートするチャートやレポートオブジェクトを作成できます。[Insert]>[Chart]をクリックして、チャートエキスパートを開きます。Total Freight by ShipName を表すグラフを作成するには、ShipName を[On Change Of]メニューセレクションの下のボックスに追加してからFreight を[Show Values]の下のボックスに追加します。
完成した帳票をプレビューして、チャートにデータが入っていることを確認します。Null 値を取り除きたい場合は、SelectionFormula を使います。
