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

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

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

最終更新日:2022-06-07

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

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



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

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

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

  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.access.AccessDriver を入力。
    • JDBC URL:JDBC URL に必要な接続プロパティを入力。接続プロパティは、セミコロン区切りでname-value ペアを入力する必要があります。Access の一般的なJDBC URL は次のとおりです:

      jdbc:access:DataSource=C:/MyDB.accdb;

      Access接続の設定方法

      ローカルファイルへの接続設定

      ローカル環境からAccess への接続は非常にシンプルです。ConnectionTypeLocal に設定することで、CRUD 操作(SELECT、INSERT、UPDATE、DELETE)をすべて実行できます。接続にはDataSource プロパティに以下のようなAcces sデータベースファイルのフルパスを指定します。

      C:\Users\Public\Documents\MyDatabase.accdb

      詳細な接続手順については、ヘルプドキュメントの「はじめに」セクションをご参照ください。

      クラウドストレージ上のAccess ファイルへの接続設定

      各種クラウドストレージに保存されているAccess ファイルへのアクセスにも対応しています。ただし、クラウド上のファイルに対するデータ操作は、INSERT、UPDATE、DELETE に制限されますのでご注意ください。

      S3、Google Driver、OneDrive など、各種クラウドストレージ内のAccess ファイルへの接続方法はこちらの記事をご確認ください。

      クラウド上のファイルを更新したい場合は、以下の手順で実施いただけます。

      1. 対応するCData ドライバーを利用し、クラウドサービスからAccess ファイルをダウンロード
      2. Access ドライバーを使用して、ローカル環境でファイルを編集
      3. クラウドサービス用ドライバーのストアドプロシージャを使用して、更新ファイルをアップロード

      具体例として、SharePoint 上のファイルを更新する場合の手順をご紹介します。

      1. CData SharePoint ドライバーのDownloadDocument プロシージャを使用してファイルを取得
      2. CData Access ドライバーでファイルの更新を実施
      3. SharePoint ドライバーのUploadDocument プロシージャで更新内容を反映

      DataSource 接続プロパティの設定について補足いたします。接続先のクラウドストレージを識別するための一意の接頭辞を指定し、続けて目的のファイルパスまたはフォルダパスを記述します。フォルダを指定した場合は1ファイルが1テーブルとして、単一ファイルの場合は単一テーブルとして扱われます。

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

Access データ で帳票を作成

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

  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]タブでは、最新のAccess を使ったものと同じ帳票を見ることができます。

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

チャートを追加

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

  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. カラムでグループ化する手順はスキップします。Access 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 のリアルタイムデータ連携をフルにお試しいただけます。記事や製品についてのご質問があればお気軽にお問い合わせください。