虛擬資料表是 Microsoft Dataverse 中的自訂資料表,其資料行包含來自外部資料來源的資料。 虛擬資料表會以一般資料表資料列的形式出現在您的應用程式中,但包含來自外部資料庫的資料,例如 Azure SQL 資料庫。 以虛擬資料表為基礎的資料列可在所有用戶端中使用,包括使用 Dataverse Web 服務開發的自訂用戶端。
在過去,若要整合全然不同的資料來源,您必須建立連接器來移動資料,或是開發用戶端或伺服器端的外掛程式。 不過,使用虛擬資料表,您可以在執行階段直接與外部資料來源連線,以便在環境中使用外部資料來源的特定資料,而不需要資料複寫。
虛擬資料表由三個主要元件組成: 資料提供者、 資料來源 資料列和 虛擬資料表。 資料提供者由外掛程式和資料來源資料表組成。 資料來源是 Dataverse 中的資料表資料列,其中包含代表連線參數結構描述的中繼資料。 每個虛擬表格都會參照表格定義中的資料來源。
Dataverse 包含一個 OData 資料提供者,您可以使用它來連線到存取外部資料的 OData v4 Web 服務。
或者,開發人員也可以建立自己的資料提供者。 資料提供者已當做解決方案安裝在環境中。 其他資訊: 開發人員文件:開始使用虛擬資料表
虛擬表格的好處
- 開發人員可以使用 Dataverse Web 服務和外掛程式註冊工具實作外掛程式來讀取、更新或刪除外部資料。
- 系統自訂員使用 Power Apps 解決方案總管來設定資料來源資料列,並建立用於存取外部資料的虛擬資料表,而無需撰寫任何程式碼。
- 終端使用者透過虛擬表所建立的資料列,來檢視欄位、網格、搜尋結果,以及基於 Fetch XML 的報告和儀表板中的資料。
新增要用於虛擬資料表的資料來源
開發人員會建立自訂外掛程式,以作為虛擬資料表的資料提供者。 或者,也可以使用提供的 OData v4 資料提供者。 其他資訊:OData v4 資料提供者設定、需求和最佳做法
登入 Power Apps,然後選取設定>進階設定。
前往設定>管理>虛擬實體資料來源。
在動作工具列上選取新增。
在 [ 選取資料提供者 ] 對話方塊中,從下列資料來源中選取,然後選取 [ 確定]。
資料提供者 Description 自訂資料提供者 如果您已匯入資料提供者外掛程式,這裡就會顯示此資料提供者。 其他資訊 開發人員文件:開始使用虛擬資料表 OData v4 資料提供者 Dataverse 包含可與 OData v4 Web 服務搭配使用的 OData 資料提供者。 其他資訊 OData v4 資料提供者設定、需求和最佳做法
在資料來源中新增加密的資料行
您可以建立資料來源的資料行,其方式與任何其他資料表相同。 對於加密或敏感的資料,請在資料來源的自訂欄上啟用資料來源密碼屬性。 例如,保護包含資料庫連接字串的資料行。
備註
「資料來源密碼」屬性僅適用於新增至「資料來源」表單的欄。
資料來源密碼屬性。
建立虛擬資料表
您可以建立虛擬資料表,就像 Dataverse 中的任何其他資料表一樣,並新增一些此處所述的額外屬性。 必須使用方案總管來建立虛擬資料表。
備註
雖然您可以選取 [無 ] 作為資料來源來建立虛擬資料表,但若要取得資料,虛擬資料表需要資料來源。 其他資訊 新增要用於虛擬資料表的資料來源
開啟方案總管
您建立的任何虛擬資料表名稱的一部分是自訂前置詞。 根據您使用之解決方案的解決方案發行者,設定這個自訂首碼。 如果您關心自訂前置詞,請確定您使用的是非受控解決方案,其中自訂前置詞是您想要用於此虛擬資料表的前置詞。 其他資訊: 變更解決方案發行者前置詞
開啟未受管理的解決方案
從 Power Apps 中,從左側導覽窗格中選取 解決方案, 然後在工具列上選取 切換至傳統。 如果此項目不在側邊面板窗格中,請選取 ...其他 ,然後選取您想要的項目。
在 [所有解決方案 ] 清單中,開啟您想要的非受控解決方案。
建立虛擬資料表
在方案總管中建立新的資料表。 若要這麼做,選取左導覽窗格中的實體,然後選取新增。
在實體定義的一般索引標籤上,選取虛擬實體,然後在資料來源下拉式清單中選取您想要的資料來源。
在 [實體定義] 中,完成下列必要欄位。
領域 Description 外部名稱 在此資料表對應至的外部資料來源中輸入資料表的名稱。 外部集合名稱 在此表格對應至的外部資料來源中輸入表格的複數名稱。 以下是名為 Movie 的虛擬資料表範例,該資料表會使用 Azure Cosmos DB 資料提供者來存取文件檔案。
這很重要
數個選項 (例如存取小組、佇列和快速建立) 不適用於虛擬資料表。 其他資訊 使用虛擬資料表時的考量
視需要完成其他的必要與選用屬性,例如顯示名稱和複數名稱。 如需這些屬性的詳細資訊,請參閱 建立和編輯資料表。
建立並新增虛擬資料表的一或多個資料行。 除了建立自訂資料行所需的標準資料行內容之外,這些選用資料也適用於您為虛擬資料表建立的每個自訂資料行。
領域 Description 外部名稱 這通常是唯一名稱,用於識別您要在欄中顯示的資料。 外部類型名稱 如果您建立的資料行類型是 OptionSet,此屬性會對應至外部服務中供選擇的值集的外部名稱。 這是通常是字串值類別的列舉或名稱。 需要完整名稱時,可以使用 [外部類型名稱]。 比如說,類型名稱搭配 OData,其中查詢的參數就需要完整的名稱 (例如 [類型名稱].[值])。 外部價值 如果您建立的資料行類型是 OptionSet:此屬性會對應至選擇項目外部資料來源中的對應值。 輸入的此值用於決定要在應用程式中顯示的選擇項目。 視需要完成其他屬性。 如需這些屬性的詳細資訊,請參閱 建立和編輯欄。
在欄位屬性頁面上選擇儲存並關閉。
在方案總管工具列上,選取儲存。
在方案總管工具列上,選取發行。
關閉方案總管。
使用虛擬資料表時的考量事項
虛擬資料表有這些限制。
- 現有資料表無法轉換為虛擬資料表。
- 依預設,虛擬資料表僅包含 Name 和 Id 資料行。 不支援其他由系統管理的欄,例如「狀態」或「已建立日期/已修改日期」。
- 虛擬資料表不支援具有 Currency、Image 或 Customer 資料類型的自訂資料行。
- 虛擬資料表不支援稽核。
- 虛擬資料表資料行無法用於彙總資料行或計算結果資料行。
- 虛擬資料表不能是活動類型的表格。
- 虛擬表格不支援儀表板和圖表。
- 許多影響資料表資料列的功能無法透過虛擬資料表啟用。 範例包括佇列、知識管理、SLA、重複偵測、變更追蹤、Mobile Offline 功能、資料行安全性、Dataverse 搜尋和 Power Pages 解決方案。
- 虛擬資料表是組織擁有的,不支援資料列層級 Dataverse 安全性概念。 建議您針對外部資料來源執行您自己的安全性模型。
- 更新時進行驗證的欄位中繼資料屬性不適用於虛擬資料表。 例如,虛擬表格直欄上的「整數」直欄可以設定為最小值為零。 不過,由於值來自外部資料來源,因此從虛擬資料表擷取時,查詢會傳回小於零的值。 最小值屬性未隱含在查詢中。 如果那是您所要的結果,還是必須將值篩選為大於 0。
- 虛擬資料表不支援變更追蹤,也無法使用 Dataverse 功能進行同步處理,例如資料匯出服務或適用於 Dataverse 的 Azure Synapse Link。
- 使用隨附 OData v4 資料提供者的虛擬資料表會在輸出埠 443 上啟用。
- 虛擬資料表不支援商務程序流程。 其他資訊:當使用者啟動商務程序流程時收到未預期的錯誤
當使用者啟動商務程序流程時收到未預期的錯誤
當使用者嘗試啟動商務程序流程時,可能會收到「未預期的錯誤」訊息。 查看記錄檔會顯示下列記錄項目。
錯誤碼:0x80040216 訊息:System.Web.HttpUnhandledException: 引發了 'System.Web.HttpUnhandledException' 類型的例外狀況。 ---> Microsoft. CrmException:無法為虛擬實體啟用商務程序流程
發生此問題的原因是虛擬資料表不支援商務程序流程。