2021/09/28

MANUAL

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

## 概要 「[拡張SQL](/manual/extended-sql)」の「OnSelectingColumn」を使用しプリザンターから外部DBのテーブルを参照するサンプルコードです。参照したい外部DBをSQL Serverの「リンクサーバー」機能を使って参照します。 ## 前提条件 1. 事前にリンクサーバの設定が完了している必要があります。 ## 説明 プリザンターから参照する外部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. プリザンターを再起動してください。 ##### 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>2021/05/05 up</span></li></ul></article> <ul><li><a href="/manual/table-management">テーブルの管理</a><span>2021/05/09 up</span></li></ul></article> <ul><li><a href="/manual/table-management-editor">テーブルの管理:エディタ</a><span>2021/05/09 up</span></li> <li><a href="/manual/table-management-editor-columns">テーブルの管理:エディタ:エディタの項目の設定</a><span>2021/05/22 up</span></li></ul></article> <ul><li><a href="/manual/table-management-grid">テーブルの管理:一覧画面</a><span>2021/05/09 up</span></li></ul></article> <ul><li><a href="/manual/extended-sql">開発者向け機能:拡張機能:拡張SQL</a><span>2021/10/11 up</span></li></ul></article></div><input id="SearchTextHidden" type="hidden" value="" />
このページをシェアする