Elixir Report

Index


概要

このトピックではデータベースにOracle 12c、Microsoft SQL Server 2014を利用した場合のJDBCデータソース作成手順を説明します。
2つのテーブルを結合し、必要な項目のデータを取得するまでをチュートリアル形式で説明しています。なお、このドキュメント作成にあたっては次のデータベースとツールを使用しました。

Oracle: Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit
SQL Server: Microsoft SQL Server 2014 Express Edition - 64-bit


データベース側の事前準備

SQL Server

サーバーの認証モード変更

ユーザー名とパスワードを使用してデータベースに接続できるように、サーバーの認証モードを[SQL Server 認証モードとWindows 認証モード]に設定します。

TCP/IPプロトコルの有効化

JDBCプロバイダは、TCP/IPプロトコルでのみ利用可能ですので、SQL Serverの構成マネージャからこのプロトコルを有効化し、ポート指定する必要があります。


サンプルテーブルの説明

このドキュメントでは、次の2つのテーブルをサンプルとして利用します。グレー部分はサンプルデータです。
2つのテーブルは[事業部番号]で結合できるものとします。

画像「利用者マスタ(USER_MASTER)」
利用者マスタ(USER_MASTER)
画像「事業部マスタ(DEPT_MASTER)」
事業部マスタ(DEPT_MASTER)
画像「Oracle SQL Developerで確認したUSER_MASTERテーブル」
Oracle SQL Developerで確認したUSER_MASTERテーブル
画像「Oracle SQL Developerで確認したDEPT_MASTERテーブル」
Oracle SQL Developerで確認したDEPT_MASTERテーブル

JDBCドライバの準備

JDBCドライバファイルを準備します。ファイルは、Elixir Reportのextフォルダにコピーしてください。

{インストールルート}/ext

Oracle

OracleのJDBCドライバは、ojdbc7.jarファイルを利用します。通常、データベースの/jdbc/libディレクトリにあります。

SQL Server

Microsoft SQL Server 2014用のJDBCドライバは、Microsoft社のサイトからダウンロードすることができます。このドキュメントでは、2016年8月時点で Microsoft社のサイトに公開されていたsqljdbc42.jarを利用しています。


JDBCデータソースウィザード

A)データソースウィザードを起動して、新規のJDBCデータソースを作成

デザイナにて任意のリポジトリ上で右クリックし、[追加]-[データソース]を選択するか、 [ファイルの追加]ボタンで[データソース]を選択します。起動したデータソースウィザードで[JDBC]を選択してください。

画像「データソースウィザード」

B)データソース名と、データベースへの接続パラメータを入力

[推奨ドライバ]をクリックして、使用するドライバを選択します。ドライバの横に緑色の記号が表示されていない場合は、[2. JDBCドライバの準備]の手順を正しく行ったか確認してください。
以下のスクリーンショットは、Elixirと同じマシンにインストールされている次のそれぞれのデータベースへ接続するための入力例となります。

Oracle

画像「JDBCデータソースの定義」
データベース名 ORACLE
ホスト localhost
ポート 1521
ドライバ oracle.jdbc.driver.OracleDriver
ユーザー testuser
パスワード testuser

※ 推奨ドライバでOracle(Thin_driver)を選択


SQL Server

画像「JDBCデータソースの定義」
データベース名 TEST
ホスト localhost
ポート 1433
ドライバ com.microsoft.sqlserver.jdbc.
SQLServerDriver
ユーザー testuser
パスワード testuser

※ 推奨ドライバでSQL Server(Microsoft 2005)を選択

C)必要に応じてJDBCオプションを定義して、[次へ]をクリック

D)クエリビルダーを使用してSQL文を構築

SQLの入力画面では[クエリビルダ]をクリックして、GUIで自動的にSQL文を生成しましょう。テーブル名をダブルクリックし、2つのテーブルから、USER_ID、USER_NAME、DEPT_NO、DEPT_NAMEの4つの項目を取得するようにチェックを入れます。

画像「クエリビルダのスクリーンショット」
クエリビルダのスクリーンショット

次に、テーブルを結合するために、リレーションシップを作成します。[リレーションシップ] 上で右クリックし、[リレーションシップの追加]を選択するとリレーションシップビルダが起動します。
ここでは、USER_MASTERのDEPT_NOとDEPT_MASTERのDEPT_NOのリレーションシップを追加し、2つのテーブルを結合します。

画像「リレーションシップビルダのスクリーンショット」
リレーションシップビルダのスクリーンショット

E)必要に応じてJDBCオプションを定義して、[次へ]をクリック

F)データソースの列の定義画面で、[更新]をクリック

[更新]をクリックして先ほど選択した項目が表示されることを確認します。列をダブルクリックするか、[編集]ボタンをクリックすれば[列の編集]ダイアログボックスが表示されます。データベースから取得した値を受け取る[データ形式](タイプ)を変更する必要があれば、ここから行います。

G)必要に応じて、オプションやセキュリティを設定し、完了


データソースの確認

「作成したデータソースの[データのロード]ボタンをクリックして、データが取得できることを確認します。

画像「結果」

以上で、データソースの作成は完了です。


動的パラメータの利用

パラメータを利用してSQL文を動的に変える必要がある場合、[SQL]タブのSQL文を直接編集して、必要な部分に次のようにデータソースパラメータを記述します。

例 : データソースパラメータ名を"PARAM_ID"とする場合
SELECT
  USER_MASTER.USER_NAME, USER_MASTER.USER_ID, USER_MASTER.DEPT_NO
    FROM dbo.USER_MASTER
      WHERE USER_MASTER.USER_ID = ${PARAM_ID}

データソースパラメータの利用には、レポートパラメータの設定が必要です。詳しい説明は製品に付属するヘルプドキュメントの次の項目を参照してください。

[ヘルプドキュメント]
 +[2章 レポート設計]
  +[7. その他の機能]
   +[動的パラメータ]
    +[3. 動的パラメータによるデータソースフィールドの更新]