製品をチェック

IBM DB2 Driver の30日間無償トライアルをダウンロード

 30日間の無償トライアルへ

製品の詳細

IBM DB2 アイコン IBM DB2 JDBC Driver 相談したい

IBM DB2 連携のパワフルなJava アプリケーションを素早く作成して配布。

Jaspersoft Studio からDB2 データに接続する方法

Jaspersoft Studio でリアルタイムDB2 データを基に帳票を作成。

加藤龍彦
ウェブデベロッパー

最終更新日:2022-06-07
db2 ロゴ

CData

jdbc ロゴ画像
TIBCO Jaspersoft ロゴ

こんにちは!ウェブ担当の加藤です。マーケ関連のデータ分析や整備もやっています。



この記事では、CData JDBC Driver for DB2 を使ってDB2 の連携機能を持つJaspersoft Studio の基本的な帳票をテーブルやチャートで作成する方法を説明します。レポートを実行するたびに、チャートおよびテーブルはリアルタイムデータを表示します。JasperSoft のウィザードを使って、レポートエレメントを埋めるSQL クエリをいくつかビルドします。ドライバーは、リレーショナルデータベースへのデータのコピー処理をスキップする間、標準SQL を利用可能にします。代わりに、クエリは基になるDB2 API に直接実行されます。

JDBC データソースとしてDB2 データに接続

Jaspersoft Studio で、[Data Adapter]ウィザードを使ってJDBC データソースに接続できます。下記の手順に従って、プロジェクトからDB2 に接続します。DB2 データアダプターをワークスペースに追加します。

  1. [Repository Explorer]で[Data Apters]ノードを右クリックし、[Create Data Adapter]をクリックします。
  2. [Database JDBC Connection]を選択します。
  3. ユーザーフレンドリーなドライバー名を入力します。
  4. [Driver Classpath]タブで[Add]をクリックします。ダイアログが表示されたら、インストールディレクトリの[lib]サブフォルダにナビゲートします。ドライバーのJAR を選択します。
  5. [Database Location]タブでは、以下の情報が必要です:
    • JDBC Driver:JDBC driver のクラス名cdata.jdbc.db2.DB2Driver を入力。
    • JDBC URL:JDBC URL に必要な接続プロパティを入力。接続プロパティは、セミコロン区切りでname-value ペアを入力する必要があります。DB2 の一般的なJDBC URL は次のとおりです:

      jdbc:db2:Server=10.0.1.2;Port=50000;User=admin;Password=admin;Database=test;

      DB2 への接続には以下を入力します:

      • Server: DB2 が稼働しているサーバー。
      • Port: DB2 サーバーのポート。
      • Database: DB2 のデータベース。
      • User: DB にアクセスする権限のあるユーザー名。
      • Password: DB にアクセスする権限のあるユーザーのパスワード。

      対応するDB2 のドライバーをインストールする必要があります。

      • Windows: IBM Data Server Provider for .NET

        Windows では、IBM Data Server Provider をインストールするだけで十分です。インストールがmachine.config への書き込みを行います。

      • Java: IBM Data Server Driver for JDBC

        Java では、IBM Data Server Driver JAR をアプリケーションのwww\WEB-INF\lib\ フォルダに配置する必要があります。

      パスワード方式によるSSH 接続

      パスワード方式によるSSH接続時に必要なプロパティ一覧を以下に示します。

      • User: DB2 のユーザ
      • Password: DB2 のパスワード
      • Database: DB2 の接続先データベース
      • Server: DB2 のサーバー
      • Port: DB2 のポート
      • UserSSH: "true"
      • SSHAuthMode: "Password"
      • SSHPort: SSH のポート
      • SSHServer: SSH サーバー
      • SSHUser: SSH ユーザー
      • SSHPassword: SSH パスワード

      接続文字列形式では以下のようになります。

      Server=10.0.1.2;Port=50000;User=admin;Password=admin;Database=testUseSSH=true;SSHAuthMode=Password;SSHPort=22;SSHServer=ssh-server;SSHUser=root;SSHPassword=sshpasswd;

      公開鍵認証方式方式によるSSH 接続

      公開鍵認証によるSSH接続時に必要なプロパティ一覧を以下に示します。

      • User: DB2 のユーザ
      • Password: DB2 のパスワード
      • Database: DB2 の接続先データベース
      • Server: DB2 のサーバー
      • Port: DB2 のポート
      • UserSSH: "true"
      • SSHAuthMode: "Public_Key"
      • SSHClientCertType: キーストアの種類
      • SSHPort: SSH のポート
      • SSHServer: SSH サーバー
      • SSHUser: SSH ユーザー
      • SSHClientCert: 秘密鍵ファイルのパス

      接続文字列形式では以下のようになります。

      Server=10.0.1.2;Port=50000;User=admin;Password=admin;Database=test;UseSSH=true;SSHAuthMode=Public_Key;SSHClientCertType=PUBLIC_KEY_FILE;SSHPort=22;SSHServer=ssh-server;SSHUser=root;SSHClientCert=C:\Keys\key.pem;

A data adapter configured to use the JDBC Driver. (Salesforce is shown.)

DB2 データ で帳票を作成

DB2 のデータアダプターを作成したら、DB2 データをJasperReports に追加できます。このセクションでは同梱されているテンプレートの一つをDB2 データに連携させる方法について説明します。

  1. [File]>[New Jasper Report]をクリックします。テンプレートを選択し、親プロジェクトを選択して、帳票に名前を入力します。
  2. [Data Adapter]ウィザードで、先のセクションで作成したデータアダプターを選択します。
  3. [Diagram]タブでは、クエリを視覚的にビルドできます:テーブルをボックスにドラッグしお好みのカラムをクリックします。カスタムクエリも入力可能です。例: SELECT * FROM Orders The SQL query to be used to pull data into the report. (Salesforce is shown.)
  4. データセットに含めたいフィールドを選択します。

[Preview]タブでは、最新のDB2 を使ったものと同じ帳票を見ることができます。

A JasperReport template populated with live data. (Salesforce is shown.)

チャートを追加

下記の手順に従って、DB2 のチャートを既存の帳票に追加します。棒グラフを、先のセクションで作成した帳票テンプレートの最後に追加します。

  1. [Design]タブをクリックします。
  2. [Outline]ビューで、帳票のルートノードを右クリックし[Create Dataset]をクリックします。
  3. データセット名を入力し、オプションをクリックして接続またはデータソースから新しいデータセットを作成します。
  4. [Data Adapter]メニューで、最初のセクションで作成した[Data Adapter]を選択します。
  5. 次のクエリを入力します:

    SELECT Orders.Freight, Customers.ContactName FROM Customers INNER JOIN Orders ON Customers.CustomerId=Orders.CustomerId The SQL query to be used to fill the chart. (Salesforce is shown.)
  6. データセットに必要なフィールドを選択します。この例ではすべてのフィールドを使います。
  7. カラムでグループ化する手順はスキップします。DB2 API はGROUP BY のステートメントをサポートしていません。

データセットを追加したら、下記の手順に従ってチャートを作成します。

  1. [Outline]ビューの[Summary]ノードをクリックします。[Properties]ビューで高さを400ピクセルに設定します。サマリーバンドが帳票の最後にプリントされます。
  2. チャートを[Palette]からsummary にドラッグします。Chart ウィザードが表示されます。
  3. チャートの種類を選択します。この例では棒グラフを使います。
  4. [Dataset]メニューで、チャート用に作成したデータセットを選択します。
  5. [Dataset]タブで、オプションを選択してマスター帳票と同じ接続を使用します。Chart ウィザードは接続パラメータを入力し、メニューセレクションを[Use Another Connection]に変更します。
  6. [Series]メニューの隣にあるボタンをクリックし、デフォルトシリーズを削除します。[Add]をクリックします。
  7. [Expression Editor]が表示されたら、カラムをダブルクリックして各カラム値に新しいシリーズを作成します。例:OrderName。シリーズをOrderName に設定した場合、OrderName ごとに新しい棒グラフが作成されます。 The column selected as the Series for the chart.
  8. [Value]ボックスの隣にあるボタンをクリックし、チャートのmeasures 用に[Expression Editor]を開きます。カラムをダブルクリックしてy 軸に追加します。例:Freight。
  9. [Label]ボックスの隣にあるボタンをクリックし、チャートのdimensions 用に[Expression Editor]を開きます。カラムをダブルクリックしてx 軸に追加します。例:OrderName。
  10. この例ではカテゴリを使用しないため、[Category]ボックスに空の文字列 "" を入力します。 Columns selected for the axes of the chart.

チャートを作成したら基本的なフォーマットを行い、サブレポートをレポートに未使用スペースなくシームレスに追加できるようにします。

  1. チャートを右クリックして[Size to Container]>[Fit Both]をクリックします。
  2. メインレポートでサブレポートを右クリックして[Size to Container]>[Fit Both]をクリックします。

プレビューする前に帳票への変更を保存します。チャートが帳票の最後のページに表示されます。

The finished report's last page, displaying the chart. (Salesforce is shown.)

関連コンテンツ

トライアル・お問い合わせ

30日間無償トライアルで、CData のリアルタイムデータ連携をフルにお試しいただけます。記事や製品についてのご質問があればお気軽にお問い合わせください。