JasperReports Server で DB2 に連携する帳票を作成

CData JDBC ドライバをJasperReports Server に配置して、Jasper Studio でリアルタイムDB2 のデータを連携利用する帳票を作ろう。

加藤龍彦
デジタルマーケティング

最終更新日:2022-06-07

この記事で実現できるDB2 連携のシナリオ

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



CData JDBC Driver for DB2 は企業全体のDB2 へのデータ連携を可能にします。この記事では、JasperReports server にドライバーを配布してレポーティングドメイン、ビルディングブロックを作成し、ad hoc 帳票を作成する方法を説明します。

DB2 ドライバーのJAR を配布

下記の手順に従って、ドライバーのJAR をJasperReports server に配置します。標準的なプロセスに従って、JNDI データソースをTomcat またはJBoss に配布できます。以下の説明にはDB2 およびJasperReports Server にバンドルされたTomcat server の詳細が含まれます。

  1. インストールディレクトリの[lib]サブフォルダ内のドライバーJAR およびlic ファイルを、apache-tomcat フォルダの[lib]サブフォルダにコピーします。
  2. 以下のリソースエントリーをjasperserver-pro Web アプリケーションのcontext.xml に追加します。これはアプリケーションの[META-INF]サブフォルダに配置されています。必要な接続プロパティをJDBC URL に指定します。

    DB2 に接続するには以下のプロパティを設定します。

    • Server: DB2 を実行するサーバー名。
    • Port: DB2 サーバーのポート。
    • Database: DB2 データベース名。

    接続の準備ができたら、認証スキームを選択し、以下で説明するように適切なプロパティを設定します。

    本製品 は、DB2 への認証に4つの異なるスキームをサポートします。DB2 ユーザー資格情報(デフォルト)、暗号化されたユーザー資格情報、IBM Identity and Access Management(IAM)認証、および Kerberos です。

    DB2 ユーザー資格情報

    ユーザー資格情報を使用して認証するには、次のプロパティを設定します。
    • AuthSchemeUSRIDPWD
    • User:データベースへのアクセス権を持つユーザーのユーザー名。
    • Password:データベースへのアクセス権を持つユーザーのパスワード。

    暗号化されたユーザー資格情報

    サーバーがセキュア認証に対応しており、暗号化されたユーザー資格情報を使用して認証を行いたい場合は、このプロパティを設定します。
    • AuthSchemeEUSRIDPWD

    IAM、Kerberos で認証したい場合は、ヘルプドキュメントの「はじめに」セクションを参照してください。

    パスワード方式による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; <Resource name="jdbc/db2" auth="Container" type="javax.sql.DataSource" driverClassName="cdata.jdbc.db2.DB2Driver" url="jdbc:db2:Server=10.0.1.2;Port=50000;User=admin;Password=admin;Database=test;" maxActive="20" maxIdle="10" maxWait="-1" factory="com.jaspersoft.jasperserver.tomcat.jndi.JSBasicDataSourceFactory"/>
  3. jasperserver-pro Web アプリケーションのweb.xml に以下の参照を追加します。これはアプリケーションの[WEB-INF]サブフォルダに配置されています。 DB2 データ JSP jdbc/db2 javax.sql.DataSource Container
  4. サーバーを再起動します。

DB2 JDBC データソースの作成

ドライバーを配布したら、JNDI 接続を作成してバンドルされたあらゆるドライバーと同じように接続できます。

  1. JasperReports Server にログインして[Create]>[Data Source]をクリックします。
  2. [Type]メニューで[JNDI Data Source]を選択します。
  3. [Service Name]ボックスにDB2 に定義したJDNI ルックアップを入力します。例では、ルックアップは jdbc/db2 です。

ドメイン の作成

データのドメインはJaspersoft のメタデータレイヤです。アドホックな分析および帳票で使うことができます。

  1. [Create]>[Domain]をクリックし、ドメインにID を入力します。
  2. [Data Source]セクションで[ブラウズ]をクリックし、作成したDB2 のデータソースを選択します。
  3. [Domain Design]セクションで[Create with Database Designer]をクリックします。[Select Database Schema]ダイアログが表示されます。
  4. DB2 のデータソースを選択します。
  5. [Tables]タブの[Data Source]ペインでテーブルを選択し、矢印をクリックして[Selected Tables]に追加します。 Tables to add on the Tables tab in the Domain Designer. (Salesforce is shown.)
  6. [Display]タブの[Resources]ペインでDB2 エンティティを選択し、矢印をクリックしてリソースを[Sets and Items]ペインに追加します。 Resources to add on the Display tab in the Domain Designer. (Salesforce is shown.)

ドメインにView Based を作成

ドメインを使ってDB2 のビジネスビューを作成したら、データに関連あるサブセットを表示するビューを作成します。下記の手順に従って、[Ad Hoc Editor]の[Ad Hoc view]にビューを作成します。

  1. [Create]>[Ad Hoc View]をクリックします。
  2. ダイアログが表示されたら、作成したDB2 ドメインを選択します。 The domain to be used for the view. (Salesforce is shown.)
  3. [Choose Data]ページで、ビューで使いたいカラムを選択します。[Select Fields]セクションでは、フィルターおよび入力用のプロンプトユーザーを作成できます。[Display]セクションでは、フィールドおよびフィールド名の並び順を変更できます。 The columns to be used in the report. (Salesforce is shown.)
  4. ウィザードを完了したら、ビューの種類を選択しビューにカラムを追加できます。JasperSoft はドライバーのメタデータを使って、利用可能なdimensions およびmeasures をデータの種類に基づいて検出します。 [Columns] および[Rows]ボックスにdimensions およびmeasures をドラッグします。例えば、チャートを作成するには[Columns]ボックスに[excol#1]を、[Rows]ボックスに[excol#2]をドラッグします。
  5. ビューを保存します。

帳票の作成

これでドメインから帳票を作成できます:

A report based on live data. (Salesforce is shown.)

関連コンテンツ

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

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