ユーザマニュアル





2024/04/29

MANUAL

FAQ:プリザンターから外部DBのテーブルを参照したい

## 回答 データベースがSQLServerの場合は「リンクサーバー」機能、PostgreSQLの場合は「FDW」機能であらかじめ別DBにアクセスできる状態にしたうえで、「[拡張SQL](/manual/extended-sql)」を使用します。 --- ## 概要 「[拡張SQL](/manual/extended-sql)」の「OnSelectingColumn」を使用しプリザンターから外部DBのテーブルを参照するサンプルコードです。参照したい外部DBをSQL Serverの「リンクサーバー」機能を使って参照します。 ## 前提条件 1. 事前にリンクサーバの設定が完了している必要があります。 SQL Serverの場合はリンクサーバ機能を利用します。PostgreSQLの場合は「FDW」機能を利用します。 [リンク サーバー \(データベース エンジン\) \- SQL Server \| Microsoft Learn](https://learn.microsoft.com/ja-jp/sql/relational-databases/linked-servers/linked-servers-database-engine?view=sql-server-ver16) [F\.33\. postgres\_fdw](https://www.postgresql.jp/docs/9.6/postgres-fdw.html) ## 説明 プリザンターから参照する外部DBのテーブル例です。 | id | 氏名 | 年齢 | | :-: | :-: | :-: | | 1 | ユーザー1 | 21 | 1. プリザンターのテーブルの分類Aに外部DBテーブルの id が格納されていることとします。 1. 外部DBテーブルの 年齢 をプリザンターの 分類Z に表示します。 ## 操作手順 ### テーブルの設定 1. プリザンターを開き、テーブルを作成してください。 1. 「[テーブルの管理](/manual/table-management)」を開き「[一覧](/manual/table-management-grid)」タブと「[エディタ](/manual/table-editor)」タブで「分類Z」を有効化してください。 1. 対象となるテーブルのサイトIDをメモしてください。 ### 拡張SQLの設定 1. 後述のJSONファイル例を LinkSever.json として保存してください - 保存先は以下の通りです。 - C:\web\pleasanter\Implem.Pleasanter\App_Data\Parameters\ExtendedSqls\LinkServer.json 1. SiteIdList をメモしたサイトIDに変更してください。 1. CommandText のSQLのFROM句: [リンクサーバー名].[DB名].[スキーマ名].[テーブル名] [照合順序]は設定したいリンクサーバーと、参照したいテーブル名に変更してください。 1. プリザンターを再起動してください。 ## サンプルコード 本サンプルコードはSQLSever用です。 ##### JSON(LinkServer.json) ``` { "Name": "LinkServerTest", "Description": "LinkServerTest", "SiteIdList": [xxx], "ColumnList": ["ClassZ"], "OnSelectingColumn": true, "CommandText": "(select age from [LINKSERVER].[postgres].[public].[staff] where id = Results.ClassA COLLATE Japanese_CI_AS)" } ``` ## 関連情報 <div id="ManualList"><ul><li><a href="/manual/table-editor">テーブル機能:レコードのエディタ画面</a><span>2023/04/12 up</span></li></ul></article> <ul><li><a href="/manual/table-management">テーブルの管理</a><span>2023/04/19 up</span></li></ul></article> <ul><li><a href="/manual/table-management-editor">テーブルの管理:エディタ</a><span>2024/04/09 up</span></li> <li><a href="/manual/table-management-editor-columns">テーブルの管理:エディタ:エディタの項目の設定</a><span>2024/04/09 up</span></li></ul></article> <ul><li><a href="/manual/table-management-grid">テーブルの管理:一覧画面</a><span>2023/05/12 up</span></li></ul></article> <ul><li><a href="/manual/extended-sql">開発者向け機能:拡張機能:拡張SQL</a><span>2023/10/01 up</span></li></ul></article></div><input id="SearchTextHidden" type="hidden" value="" />
TOP
このページをシェアする
記載された商品名、各製品名は各社の登録商標または商標です。 © Implem Inc.