> For the complete documentation index, see [llms.txt](https://cimtops.gitbook.io/i-repo-link-manual/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://cimtops.gitbook.io/i-repo-link-manual/datasource/database/getting-data-with-irepo-gateway.md).

# データベース「データベースのデータ取得（i-Repo Gateway）」

{% hint style="success" %}
この機能はi-Repo Linkオンプレミス版のみでご利用いただけます。
{% endhint %}

* 本ページで使用している画像は、PostgreSQL連携のイメージです。
* 他のデータベース連携も同じ画面構成のため、読み替えてご参照ください。

***

## 機能概要

「データベースのデータ取得」は、データベースからi-Reporterへi-Repo Gatewayを利用してデータ連携を行います。<br>

<table><thead><tr><th>連携方向</th><th width="214.33333333333331">機能説明</th><th>実行タイミング</th></tr></thead><tbody><tr><td>データベース→i-Reporter連携</td><td>i-Repo Gatewayを利用し、データベースのデータをi-Reporter入力帳票内のクラスターに連携します。</td><td>i-Reporterのアクションクラスターの実行</td></tr></tbody></table>

***

## 設定の流れ <a href="#nore" id="nore"></a>

{% stepper %}
{% step %}
マッピングおよび連携設定
{% endstep %}

{% step %}
Gatewayの設定
{% endstep %}
{% endstepper %}

***

## 連携項目対応表

連携対象のデーターベースのページをご参照ください。

{% content-ref url="/pages/qCrAvnZUQb8tplmWYIaI" %}
[PostgreSQLとi-Reporterの連携項目対応表](/i-repo-link-manual/datasource/database/general-settings/postgresql-data-types-table.md)
{% endcontent-ref %}

{% content-ref url="/pages/tPwIFYkA43Yv8yCN5xKy" %}
[Oracleとi-Reporterの連携項目対応表](/i-repo-link-manual/datasource/database/general-settings/oracle-data-types-table.md)
{% endcontent-ref %}

{% content-ref url="/pages/S5Abl4W6XE5xIaXg0M70" %}
[SQL Serverとi-Reporterの連携項目対応表](/i-repo-link-manual/datasource/database/general-settings/sql-server-data-types-table.md)
{% endcontent-ref %}

{% content-ref url="/pages/sbJKiqeTUdGDLgm97FCV" %}
[MySQLとi-Reporterの連携項目対応表](/i-repo-link-manual/datasource/database/general-settings/mysql-data-types-table.md)
{% endcontent-ref %}

***

## 設定手順

### 1. マッピングおよび連携設定

#### データベースの連携パターンの選択

【手順】

1. 「データベースのデータ取得」メニューを選択し、「追加」ボタンを押します。

<div align="left"><figure><img src="/files/9xxJ44OYbso8j10u8vms" alt="" width="375"><figcaption></figcaption></figure></div>

#### マッピングコード・名称の設定

【手順】

1. 「マッピングコード」と「マッピング名称」を設定します。

{% hint style="success" %}
マッピングコードは、i-Repo Link環境内の全てのマッピング設定を一意に識別するキーです。
{% endhint %}

<div align="left"><figure><img src="/files/zTRZJFCQhATKA0vtZd43" alt="" width="563"><figcaption></figcaption></figure></div>

#### 連携元のデータベースのデータソースとテーブル／ビューの選択

【手順】

1. 「データソース選択」と「テーブル／ビュー選択」をクリックし、連携元のデータベースを選択します。

<div align="left"><figure><img src="/files/WAaWZOrkrn7HqnUz2R7Q" alt="" width="563"><figcaption></figcaption></figure></div>

データソースの追加・設定は、以下のページをご参照ください。

{% content-ref url="/pages/5zfQ1QLNvASFAnPSNt7s" %}
[データソース管理](/i-repo-link-manual/preparation/data-source-settings.md)
{% endcontent-ref %}

#### 連携先のi-Reporter帳票定義の選択

【手順】

1. 「帳票定義選択」をクリックし、連携する帳票定義を選択します。

<div align="left"><figure><img src="/files/zDzNnJ9OXyAm1GlSdcmo" alt="" width="563"><figcaption></figcaption></figure></div>

#### データベースのフィールドとi-Reporter帳票定義のクラスターをマッピング

* 画面左側にデータベース情報、画面右側にi-Reporterの帳票定義情報が表示されます。
* 帳票定義情報の下部にはプレビューが表示されます。（「帳票定義名称」左横ボタンで表示／非表示が選択可能です。）

【手順】

1. 「データマッピング」タブを選択します。
2. 連携するデータベースの「フィールド」を選択し、i-Reporter帳票定義の紐づけ先となるクラスター行（チェックボックス含む）を選択します。

{% hint style="success" %}

* データベースのフィールドが薄いグレーのものは、連携対象外のフィールドです。
* マッピングできない場合は、エラーメッセージが表示されます。
  {% endhint %}

<div align="left"><figure><img src="/files/b9Dyh5KqqRePR9abFnQJ" alt="" width="563"><figcaption></figcaption></figure></div>

マッピングできるフィールドとクラスターの組み合わせは、以下より連携対象のデーターベースのページをご参照ください。

{% content-ref url="/pages/Ey12CrFiMubvySjr580b" %}
[共通設定](/i-repo-link-manual/datasource/database/general-settings.md)
{% endcontent-ref %}

#### データ検索条件の設定

* データベースのデータを抽出するための検索条件を設定します。\
  検索されたデータを元に入力帳票のクラスターにi-Repo Gateway経由で値が設定されます。

【手順】

1. 「データ検索条件」タブを選択します。
2. 「追加」ボタンを押します。
3. 「条件フィールド」で、データベースの「フィールド」を選択します。
4. 「条件クラスター」で、i-Reporter帳票定義の「クラスター」を選択します。
5. 検索条件を追加する場合は、「追加」ボタンを押します。

{% hint style="success" %}
レコードが１件となるように検索条件を設定してください。

複数レコードが検索されると自動帳票作成はエラーになります。
{% endhint %}

<div align="left"><figure><img src="/files/1H584kXE22VOyv7hyfpK" alt="" width="563"><figcaption></figcaption></figure></div>

### 2. Gatewayの設定

* データベースからデータを取得するアクションクラスターの設定を行います。
* i-Repo Gatewayのアクションファイルのダウンロード、またはGatewayサーバーへアクションファイルを配置します。
* Gatewayサーバーへアクションファイルを配置する場合は、事前に以下のページを参考に「i-Repo Gateway URLとトークンの設定」を実施します。

{% hint style="info" %}
[i-Repo Gateway設定 / i-Repo Link Gateway設定](/i-repo-link-manual/preparation/gateway-settings.md) ＞ Gateway設定 ＞ i-Repo Gateway URLとトークンの設定
{% endhint %}

#### i-Repo Gatewayアクションファイルをローカルにダウンロード

【手順】

1. 「Gateway設定」タブを選択します。
2. 「アクションファイル名 ／ Pythonスクリプト名」にアクションファイル名を設定します。
3. 「保存」ボタンを押します。
4. 「ダウンロード」ボタンを押します。

#### i-Repo GatewayアクションファイルをGatewayサーバーへ配置

【手順】

1. 「Gateway設定」タブを選択します。
2. 「アクションファイル名 ／ Pythonスクリプト名」にアクションファイル名を設定します。
3. 「保存」ボタンを押します。
4. 「Gatewayへ配置」ボタンを押します。

{% hint style="success" %}
「Gatewayへ配置」ボタン押下前に、後述の「Gatewayへ配置ボタンのご利用前に」をご確認ください。
{% endhint %}

#### i-Reporterでデータ取得するアクションクラスターの設定

【手順】

1. 「Gateway設定」タブを選択します。
2. 「クラスター選択」をクリックし、i-Reporterでデータ取得するアクションクラスターを選択します。
3. 「保存」ボタンを押します。
4. 「パラメータ更新」ボタンを押します。

{% hint style="success" %}
パラメーターの更新を行うと帳票定義のリビジョンがアップします。
{% endhint %}

<div align="left"><figure><img src="/files/488S0RBtxPisPBh120pA" alt="" width="563"><figcaption></figcaption></figure></div>

#### 「Gatewayへ配置」ボタンのご利用前に

{% hint style="danger" %}
**「【重要】 「Gatewayへ配置」ボタンを利用するために、i-Repo GatewayのConfigファイルの設定を変更ください**

i-Repo Gateway 2.1.230200 以降のバージョンを利用する必要があります。\
Gatewayへ配置を行うためには、i-Repo GatewayのConfigファイルの設定を変更してください。\
Configファイルのデフォルトインストール先：C:\ConMas\gateway\config\default.json\
Configファイルをメモ帳などで開き以下の末尾に記載した **runMode** の設定を「true」に変更してください。\
なお、default.json の修正を反映させる場合は、一度i-Repo Gatewayサービスの再起動が必要となります。\
※default.json に runMode の設定の記載がない場合、以下の末尾に記載した **runMode** の設定を追加してください。

**default.jsonファイル設定**

```json
{
  "port": 3000,
  "ssl": false,
  "sslkey": "./ssl/cert.key",
  "sslcert": "./ssl/cert.pem",
  "authType": "default",
  "token": "トークン",
  "pythonShell": {
    "mode": "text",
    "encoding": "utf8",
    "pythonOptions": ["-X", "utf8"]
  },
  "uploadFileTypes": {
    "binary": "bmp;gif;jpg;tif;png;wav",
    "text": ""
  },
  "customMaster": {
    "limit": 500
  }
  ここから追加（先頭にカンマを付けてください）
  ,
    "runMode": {
    "maintenance": true
  }
  ここまで追加
}
```

{% endhint %}
