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では、ページ遷移後にグローバルナビを非表示にする方法について説明していきます。 特別な理由でページ遷移後にグローバルナビを非表示にしたい場合に利用してください。 また、iframe …

no image

IM-BloomMaker 「リッチテーブル」エレメントのサンプル集

この CookBook では、intra-mart Accel Platform 2020 Spring から利用可能になった IM-BloomMaker のリッチテーブルエレメントの活用方法について …

no image

BloomMaker 入力規則エラーメッセージエレメントの使い方

このCookBookでは、Accel Platform 2021 Springで追加されたエレメント「入力規則エラーメッセージ」について紹介しています。 「入力規則エラーメッセージ」は、指定した変数に …

no image

IM-BloomMaker 異なるコンテンツ間でアクションをコピーする方法

この CookBook では intra-mart Accel Platform 2021 Winter から利用可能になったアクションの複製機能を使用して、異なるコンテンツ間でアクションをコピーする …

no image

IM-BloomMaker 変数の入力規則、どう使い分ければいいの?

Accel Platform 2023 Autumnで、文字列型変数の入力規則に「最大の文字数」「最小の文字数」が追加されました。 一見似ている「長さ」「文字数」「バイト数」という入力規則をどうやって …