建立和編輯虛擬資料表,該資料表包含外部資料來源中的資料

虛擬資料表是 Microsoft Dataverse 中的自訂資料表,其資料行包含外部資料來源的資料。 虛擬資料表會在您的應用程式中向使用者顯示為一般資料表資料行,但是包含來自外部資料庫的資料,例如 Azure SQL Database。 以虛擬資料表為基礎的資料列可在所有的用戶端中使用,包括使用 Dataverse Web 服務開發的自訂用戶端。

在過去,若要整合全然不同的資料來源,您必須建立連接器來移動資料,或是開發用戶端或伺服器端的外掛程式。 不過,您可以在執行階段透過虛擬資料表直接與外部資料來源連接,讓外部資料來源中的特定資料可以在環境中使用,而不需要進行資料複寫。

虛擬資料表由三個主要元件組成:資料提供者資料來源資料列和虛擬資料表。 資料提供者包含外掛程式和資料來源資料表。 資料來源是 Dataverse 的資料表資料列,其中包含表示連接參數結構描述的中繼資料。 每個虛擬資料表都會參考資料表定義中的資料來源。

Dataverse 包含 OData 資料提供者,您可以用來與存取外部資料的 OData v4 Web 服務進行連接。

或者,開發人員也可以建立自己的資料提供者。 資料提供者已當做解決方案安裝在環境中。 其他資訊:開發人員文件:開始使用虛擬資料表

虛擬資料表權益

  • 開發人員可以使用 Dataverse Web 服務和外掛程式註冊工具來實作外掛程式,以讀取、更新或刪除外部資料。
  • 系統自訂員會使用 Power Apps 方案總管來設定資料來源資料列,並建立用來存取外部資料的虛擬資料表,不需撰寫任何代碼。
  • 使用者可使用虛擬資料表建立的資料列檢視資料行、網格、搜尋結果及 Fetch XML 報表和儀表板中的資料。

新增要用於虛擬資料表的資料來源

開發人員會建立自訂外掛程式做為虛擬資料表的資料提供者。 或者,也可以使用提供的 OData v4 資料提供者。 其他資訊:OData v4 資料提供者設定、需求和最佳做法

  1. 登入 Power Apps,然後選取設定 > 進階設定

  2. 移至**設定** > 管理 > 虛擬實體資料來源

  3. 在動作工具列上選取新增

  4. 選取資料提供者對話方塊中,從下列資料來源選取,然後選取確定

    資料提供者 描述
    自訂資料提供者 如果您已匯入資料提供者外掛程式,這裡就會顯示此資料提供者。 其他資訊:開發人員文件:開始使用虛擬資料表
    OData v4 資料提供者 Dataverse 包含可與 OData v4 Web 服務搭配使用的 OData 資料提供者。 其他資訊:OData v4 資料提供者設定、需求和最佳做法

將受保護資料行新增至資料來源

您可以透過適用於任何其他資料表的同樣方式來建立資料來源的資料行。 如果資料已加密或具有敏感性,請在 [資料來源] 的自訂資料行上啟用 [資料來源密碼] 屬性。 例如,保護包含資料庫連接字串的資料行。

注意

[資料來源秘密] 屬性只能與新增至 [資料來源] 表單的資料行搭配使用。

資料來源密碼屬性。

建立虛擬資料表

就像 Dataverse 中的任何其他資料表一樣,您可以新增一些此處所述的額外屬性來建立虛擬資料表。 必須使用方案總管來建立虛擬資料表。

注意

雖然您可以選取 做為資料來源來建立虛擬資料表,但要取得資料,虛擬資料表就必須有資料來源。 其他資訊:新增要用於虛擬資料表的資料來源

開啟方案總管

您建立的任何虛擬資料表的部分名稱是自訂首碼。 根據您使用之解決方案的解決方案發行者,設定這個自訂首碼。 如果您很在意自訂首碼,請確定您使用的未受管理的解決方案,其中的自訂首碼是您要用於此虛擬資料表的首碼。 其他資訊:變更解決方案發行者首碼

開啟未受管理的解決方案

  1. Power Apps,從左側導覽窗格選取解決方案,然後在工具列上選取切換至傳統。 如果此項目不在側邊面板窗格中,請選取 ...其他 ,然後選取您想要的項目。

  2. 所有解決方案清單中,開啟您想要的未受管理的解決方案。

建立虛擬資料表

  1. 在方案總管中建立新的資料表。 若要這麼做,選取左導覽窗格中的實體,然後選取新增

  2. 實體定義一般索引標籤上,選取虛擬實體,然後在資料來源下拉式清單中選取您想要的資料來源。

    資料表定義上的虛擬資料表選項。

  3. 在 [實體定義] 中,完成下列必要的資料行。

    欄位 描述
    外部名稱 輸入與此資料表對應之外部資料來源中表格的名稱。
    外部集合名稱 輸入與此資料表對應之外部資料來源中表格的複數名稱。

    以下是名為 Movie 之虛擬資料表的範例,此範例使用 Azure Cosmos DB 資料提供者來存取文件檔案。

    使用 Azure Cosmos DB 資料提供者的虛擬資料表定義。

    重要

    虛擬資料表沒有提供像 [存取團隊]、[佇列] 和 [快速建立] 這樣的幾個選項。 其他資訊:使用虛擬資料表時的考量

    視需要完成其他的必要與選用屬性,例如顯示名稱和複數名稱。 如需這些屬性的詳細資訊,請參閱建立和編輯資料表

  4. 為虛擬資料表建立並新增一個或多個資料行。 除了建立自訂資料行所需的標準資料行屬性之外,下列選用屬性適用於您為虛擬資料表建立的每個自訂資料行。

    欄位 描述
    外部名稱 這通常是識別您要顯示於資料表之資料的唯一名稱。
    外部類型名稱 如果您建立的資料行類型是 [選項組]:此屬性對應至選擇外部服務中值組的外部名稱。 這是通常是字串值類別的列舉或名稱。 需要完整名稱時,可以使用 [外部類型名稱]。 比如說,類型名稱搭配 OData,其中查詢的參數就需要完整的名稱 (例如 [類型名稱].[])。
    外部值 如果您建立的資料行類型是 [選項組]:此屬性對應至選擇項目外部資料來源中對應的值。 輸入的這個值會用來判斷哪一個選擇項目要顯示在應用程式中。

    視需要完成其他屬性。 如需這些屬性的詳細資訊,請參閱建立和編輯資料行

  5. 選取資料行內容頁面上的儲存後關閉

  6. 在方案總管工具列上,選取儲存

  7. 在方案總管工具列上,選取發行

  8. 關閉方案總管。

使用虛擬資料表時的考量

虛擬資料表有下列限制。

  • 現有的資料表無法轉換為虛擬資料表。
  • 根據預設,虛擬資料表僅包含 [名稱] 和 [識別碼] 資料行。 不支援其他系統管理資料行,例如 [狀態] 或 [建立日期]/[修改日期]。
  • 虛擬資料表不支援資料類型為 [貨幣]、[影像] 或 [客戶] 的自訂資料行。
  • 虛擬資料表不支援稽核。
  • 虛擬資料表資料行無法用於彙總資料行或計算結果資料行。
  • 虛擬資料表不可以是活動類型的資料表。
  • 不支援在虛擬資料表中使用儀表板和圖表。
  • 許多影響資料表資料列的功能無法透過虛擬資料表來啟用。 範例包括佇列、知識管理、SLA、重複資料偵測、變更追蹤、行動裝置離線功能、資料行安全性、Dataverse 搜尋及 Power Pages 解決方案。
  • 虛擬資料表為組織所擁有,不支援資料列層級的 Dataverse 安全性概念。 建議您針對外部資料來源執行您自己的安全性模型。
  • 在更新時驗證的資料行中繼資料屬性不適用於虛擬資料表。 例如,虛擬資料表資料行上的 [整數] 資料行可能會設為含有零的最小值。 不過,由於值是來自外部資料來源,當從虛擬資料表擷取時,查詢將會傳回小於零的值。 最小值屬性未隱含在查詢中。 如果那是您所要的結果,還是必須將值篩選為大於 0。
  • 虛擬資料不支援變更追蹤,而且無法使用 Dataverse 功能 (例如 [資料匯出服務] 或Azure Synapse Link for Dataverse) 進行同步處理。
  • 使用包含 OData v4 資料提供者的虛擬資料表會在輸出連接埠 443 上啟用。
  • 不支援使用虛擬表的商務程式流程。 其他資訊:當使用者啟動商務程序流程時收到未預期的錯誤

當使用者啟動商務程序流程時收到未預期的錯誤

當使用者嘗試啟動商務程序流程時,可能會收到「未預期的錯誤」訊息。 查看記錄檔會顯示下列記錄項目。

錯誤碼:0x80040216 訊息:System.Web.HttpUnhandledException: 引發了 'System.Web.HttpUnhandledException' 類型的例外狀況。 ---> Microsoft. CrmException:無法為虛擬實體啟用商務程序流程

發生此問題的原因是虛擬資料表不支援商務程序流程。

另請參閱

OData v4 資料提供者設定、需求和最佳做法
建立和編輯資料表
在 Power Pages 中設定虛擬表格

注意

是否能請您告知您偏好的慣用文件語言? 請填寫問卷。 (請注意,本問卷為英文版)

完成問卷大約需要七分鐘。 本問卷將不會收集個人資料 (隱私權聲明)。