CookBook

他システムのデータベースに接続する方法

投稿日:

このCookBookでは、intra-mart 製品と関係の無いシステム等で利用されているデータベースに intra-mart Accel Platform から接続する方法についてご紹介します。

intra-mart Accel Platform では、データベースへの接続方法として下記の3種類があります。

  • システムデータベース
    • システムのデータを保存するデータベースです。
  • テナントデータベース
    • テナント内で利用するデータを保存するデータベースです。
  • シェアードデータベース
    • intra-mart Accel Platform 外のデータを保存するデータベースです。
    • 外部システムと連携したい場合等に利用します。

今回は intra-mart Accel Platform 外のデータにアクセスするので「シェアードデータベース」を使用します。

参考)
intra-mart Accel Platform セットアップガイド - 接続先の種類


また、このCookBookにおいて、アプリケーションサーバは Resin を使用する前提とします。

レシピ

以下の手順で「シェアードデータベース」を登録します。

  1. JDBCドライバの追加
  2. Resin の起動 / 再起動
  3. データソースの設定
  4. シェアードデータベースの設定

JDBCドライバの追加

シェアードデータベースとして接続するデータベース製品に合ったJDBCドライバを、Resin をインストールしたディレクトリの lib 配下に配置します。

参考)
intra-mart Accel Platform セットアップガイド - JDBCドライバの配置(Windowsの場合)
intra-mart Accel Platform セットアップガイド - JDBCドライバの配置(Linuxの場合)

Resin の起動 / 再起動

Resin を起動 / 再起動します。

参考)
intra-mart Accel Platform セットアップガイド - コンソール起動・停止(Windowsの場合)
intra-mart Accel Platform セットアップガイド - コンソール起動・停止(Linuxの場合)

データソースの設定

  • システム管理者でログインします。
  • 「システム環境構築」→「データソース設定」をクリックします。
以下、下記ガイドの手順に従ってデータソースの登録を行います。
intra-mart Accel Platform システム管理者操作ガイド - データソース設定

以下は、データソース設定の一例です。
  • JNDI名
    • jdbc/sampleshared
  • ドライバクラス名
    • org.postgresql.ds.PGConnectionPoolDataSource
  • URL
    • jdbc:postgresql://localhost:5432/sampleshared_db

シェアードデータベースの設定

  • 「システム管理」→「シェアードデータベース設定」をクリックします。

以下、下記ガイドの手順に従ってシェアードデータベースの登録を行います。
intra-mart Accel Platform システム管理者操作ガイド - シェアードデータベース設定

以下は、シェアードデータベースの設定の一例です。

  • 接続ID
    • sampleshared
  • リソース参照名
    • java:comp/env/jdbc/sampleshared

これで、シェアードデータベースを利用する準備ができました。

シェアードデータベースの利用方法

ここからはシェアードデータベースを利用可能な機能をいくつかご紹介します。
利用手順は機能ごとに異なりますが、いずれの場合においてもシェアードデータベースの接続IDを指定します。
詳細は各機能ごとのドキュメントをご参照ください。

IM-Repository と IM-LogicDesigner で利用する場合

IM-Repository の「データ定義」を作成すると、SQLを書くことなく、シェアードデータベースのテーブルのデータを取得・更新できます。
また、データの読み書きだけではなく、既存テーブルの管理、テーブルの新規作成を行うことも可能です。
intra-mart Accel Platform IM-Repository ユーザ操作ガイド - IM-Repositoryとは

「データ定義」を作成するとき、「シェアードデータベース」を選択できます。

手順の詳細は下記ドキュメントをご参照ください。
intra-mart Accel Platform IM-Repository ユーザ操作ガイド - データ定義を新規登録する

作成した「データ定義」は IM-LogicDesigner で用意されている専用のタスクで簡単にアクセスできます。

IM-Repository の各タスクの仕様については下記ドキュメントをご参照ください。
intra-mart Accel Platform IM-LogicDesigner仕様書 - IM-Repository

IM-LogicDesigner で利用する場合

「データ定義」を利用せず、IM-LogicDesignerのユーザ定義タスクで任意のSQLを「シェアードデータベース」に対して直接発行することも可能です。
以下のタスクが用意されています。

接続先として「シェアードデータベース」を選択できます。

ViewCreator で利用する場合

クエリ定義を作成するときに「シェアードデータベース」を選択できます。

ViewCreator 管理者操作ガイド - クエリビルダによるクエリの作成

プログラミングで利用する場合

スクラッチ開発等でシェアードデータベースに接続する場合は下記のAPIをご利用ください。

スクリプト開発向けim-BizAPI - SharedDatabaseオブジェクト
JavaEE開発向けim-BizAPI - クラス SharedDatabase

-CookBook
-, ,

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

no image

ラジオボタンの値やフォーカスによってアイテムの色を変更するには

このCookbookでは、カスタムスクリプトによるフィールドスタイルの変更方法を説明します。 アクション設定とカスタムスクリプトの組み合わせにより、入力値やフォーカスイベントに合わせてアイテムのスタイ …

no image

IM-BloomMaker imui の「ボタン」エレメントの背景色を css エディタで適用する方法

この CookBook では imui の「ボタン」エレメントの色を CSS エディタで適用する方法を説明します。 完成サンプル 以下の完成サンプルをダウンロードしてご活用ください。 IM-Bloom …

no image

リッチテーブルの任意の列を非表示にする方法

このCookBookでは、リッチテーブルの任意の列を非表示にする方法について紹介しています。 列の非表示は intra-mart Accel Platform 2022 Spring から可能です。 …

no image

FormaDesignerで作成したフォーム内でカーソル遷移を制御する方法

このCookbookでは、FormaDesignerで作成したフォーム内でカーソル遷移を制御する方法を紹介します。 Tabキーを使ったカーソル遷移を考慮し、ユーザビリティが高いフォームを作成しましょう …

no image

Docker Swarm を利用して Resin のクラスタリングを構築する。

この CookBook では、Docker Swarm を利用して Resin のクラスタリングを構築する手順について紹介しています。 Docker Swarm を利用することで、複数マシンにまたがっ …