虛擬表格的已知問題和疑難排解
本文說明在 Microsoft Dataverse 中使用虛擬表格時的已知限制和疑難排解提示。
以下是使用虛擬連接器提供者所建立之虛擬表格的已知限制清單。
一般限制
- 使用的資料表或清單必須至少包含一個用作主要欄位字串欄位以及一個 GUID 欄位。 如果沒有這些字串字位,則無法創建虛擬表格,並且會在表詳細資訊檢索階段生成錯誤。
- SharePoint 會使用所有清單中存在的隱藏數字識別碼欄位
- SQL 可以使用 GUID 或整數欄位
- Excel 必須有 GUID 欄位
- Dataverse 只能建立包含與 Dataverse 相容之資料類型的資料行。 這包括以下資料類型:
- 字串
- 多行文字 (備忘)
- 整數/Integer
- 小數點
- 自由流通股
- 日期時間
- 是/否 (布林值)
- 選擇 (多重值選取)
- 超連結/URL
- 虛擬表不支援的數據類型:
- 檔案和附件
- 圖像
- 虛擬表格中文字欄允許的最大字元長度為 4000 個字元。 如果源表的最大字元限制大於此值,則任何超過最大字元限制的創建或更新操作都會導致驗證錯誤,並且操作將失敗。
- 虛擬表格查詢僅限傳回 1,000 個記錄。 如果與虛擬表格有 1:N 或 N 自訂多表格 (多態性) 關聯,則超出此限制的任何查詢都會失敗並會提出錯誤。 在您的查詢中使用篩選,以縮減記錄集做為解決此限制的方法。
- 審計功能不適用於虛擬表,因為 Dataverse 只能執行和存儲本地存儲數據的審計數據。
- 無法計算虛擬表格的彙總或導出欄位。 這是因為彙總是 Dataverse 中的伺服器端計算,需要將資料儲存在本機。
- # Microsoft Entra Microsoft 提供的 ID 虛擬表格僅允許讀取訪問。
- Dataverse 虛擬表格可以在欄位中顯示超過 Dataverse 標準最大值的值。 此行為是因為呈現的值未儲存在本機。 例如,Dataverse 整數最大值是 100,000,000,000,卻可以在 SharePoint 中擷取和顯示 9,000,000,000,000。 但是,如果使用者嘗試將數字編輯為大於 Dataverse 中最大可接受大小的大小,則會提出錯誤,指出無法儲存記錄,因為它超過了最大的大小。
- 不支援在虛擬表格中使用表格資料的匯入和匯出功能。
對於每個資料來源限制
以下為每個資料來源的限制。
- SQL 虛擬表格可以使用功能主索引鍵的 GUID 或整數欄位。
- 不含主索引鍵的 SQL Server 表格:可以選取任何非字串欄位做為主索引鍵。 虛擬表格應可以順利建立。
RetrieveMultiple
有效,其他操作將失敗,並顯示以下錯誤消息 (來自 SQL 連接器):“APIM 請求未成功:BadRequest:表中不存在主鍵。對於功能,必須使用 GUID 或整數位段作為主鍵。 - 使用字串主索引鍵的 SQL Server 表格:SQL 字串主索引鍵會是唯一可用於虛擬表格主索引鍵的選項。 只有在值可以解析為 GUID 時,才支援 SQL Server 字串主索引鍵。 如果它們無法被解析為 GUID,則虛擬表格建立會成功,但在執行階段會失敗並出現以下錯誤:
- Power Apps (make.powerapps.com):“我們無法打開您的桌子。 請嘗試重新載入或重新開啟。」
- 網路追蹤:「只有在字串主索引鍵可以剖析為 GUID 時,才支援字串主索引鍵。」
- SQL 沒有非主鍵字串欄位的伺服器表用作主名稱:如果 SQL 表沒有可用作主名稱的字元串字段,我們將在配置步驟中顯示以下錯誤:“表沒有主欄位”
- SQL 檢視表可以用來建立虛擬表格,但只能提供讀取作業。
- 有關 SQL Server connector limitations (伺服器連接器限制),請轉到 SQL Server connector reference(伺服器連接器參考)。
- SQL 源表中的數據類型 bigint 列在虛擬表中映射為 decimal 數據類型 Dataverse 。 當平台支援 Bigint 對應至整數時,必須先刪除先前在虛擬表格中建立的行,並建立新的行。
- 目前,虛擬表格中不能包含以下列類型:
- Time
- Datetime2
- 圖像
- 幾何
- 地理位置
- RowVersion
- 以下列類型包含在虛擬表格中,但僅顯示為文字欄位:
- HierarchyID
- XML
- Sqlvariant
疑難排解
即使來源資料表中有更多的記錄,虛擬表格中也只有一個 (1) 記錄。
解決方案: 檢查您的源表並確保它定義了主鍵。當 (make.powerapps.com) 檢索表清單或選擇 Power Apps Finish 創建表時 ,您會收到以下錯誤之一:
- 找不到區段
msdyn_get_required_fields
的資源” - 「呼叫時發生錯誤... 請驗證連接... 存在於環境中」
- “序列與任何元素
msdyn_get_required_fields
匹配”
解決方案:在某些情況下,您可能沒有虛擬連接器供應商的最新解決方案。 若要判斷虛擬連接器提供者解決方案是否需要更新:
- 在左側導航窗格中選擇 Solutions 。 如果此項目不在側邊面板窗格中,請選取 ...其他 ,然後選取您想要的項目。
- 選擇 History(歷史記錄 ) 選項卡。
- 搜索
ConnectorProvider
。 - 檢視資訊以了解是否需要更新解決方案。
- 如果歷史記錄指示需要更新,請轉到 Microsoft 商業市場 ,搜索 Virtual Connector Provider,然後選擇 “立即 獲取”,將解決方案導入到環境中。
- 依照步驟重新建立虛擬表格。
- 找不到區段
顯示一則訊息「在目前環境中找不到連接 ‘xyz’。」 檢索連接清單時。
解決方案:當使用者的 Dataverse 環境中存在大量連接時,會發生這種情況。 此問題已於連接器提供者解決方案版本 1029 獲得修正。 若要判斷虛擬連接器提供者解決方案是否需要更新:- 在左側導航窗格中選擇 Solutions 。 如果此項目不在側邊面板窗格中,請選取 ...其他 ,然後選取您想要的項目。
- 選擇 History(歷史記錄 ) 選項卡。
- 搜索
ConnectorProvider
。 - 檢視資訊以了解是否需要更新解決方案。
- 如果歷史記錄指示需要更新,請轉到 Microsoft 商業市場 ,搜索 Virtual Connector Provider,然後選擇 “立即 獲取”,將解決方案導入到環境中。
- 依照步驟重新建立虛擬表格。
您會收到通知,指出在虛擬表格創建期間發生了超時。
解決方案:當其他現有作業導致虛擬表格創建延遲時,可能會發生這種情況。 稍候幾分鐘,然後再試一次。您收到「發生意外錯誤」的通知
解決方案:當虛擬表格資料來源是使用無效值創建的時,會發生這種情況。 要解決此問題,您需要找到導致錯誤的虛擬表格資料來源,將其刪除,然後重新創建虛擬表格。- 選擇 設置 (齒輪圖示)高級 >設置 。 Power Apps
- 在頂部功能表中,選擇 Settings (設置)。
- 移至解決方案。 如果此項目不在側邊面板窗格中,請選取 ...其他 ,然後選取您想要的項目。
- 移至包含虛擬表格的解決方案 (如果您未使用解決方案,請移至 Common Data Services 預設解決方案)。
- 在左側面板中,選擇 虛擬表格數據源。
- 按兩下每個資料來源 (它們都以
VCP_DS_..."
開頭),找到出現錯誤的時,刪除該資料來源。 - 重新創建虛擬表格。
顯示一則訊息「此資料表已經存在,您即將重新建立資料表。 主要欄位和結構描述的名稱不能變更。」
解決方案:此表之前已創建。 繼續創建會重新創建表,這會導致在資料來源上所做的任何表更改都會在虛擬表格中更新 (這包括添加或刪除欄位)。 自訂名稱和主要欄位值將無法編輯。錯誤訊息:「primary_key_name 不能空白」
解決方案:您選擇的表或列表不包含主鍵的 GUID 值。 您需要在源表中添加額外的 GUID 列才能建立虛擬表格。您創建了一個 Excel 虛擬表格但在 Tables (表 ) 區域中 看不到它 Power Apps。
解決方案:由於虛擬表格創建是異步的,因此您可以在 System Jobs(系統作業) 中檢查流程的狀態。 查找 Name 開頭Microsoft.Wrm.DataProvider.Connector.Plugins.ConnectorGenerateVEPlugin
且 Regarding 列的值等於新虛擬表格名稱的系統作業。 如果狀態仍 為 In Progress (正在進行),則只需等待作業完成。 如果出現錯誤,您可以通過選擇 system,job name 超鏈接來獲取詳細資訊。 在此範例中,表格建立仍處於擱置狀態:在此,因為 429「要求過多」錯誤,表格建立失敗:
表創建的系統作業成功,但您會收到與無效或缺失列相關的運行時錯誤。
解決方案:如果在創建表欄位時發生故障,則表創建過程不會失敗,並嘗試繼續創建其餘欄位。 這是因為當某些列類型不受支援時,系統不希望阻止虛擬表格創建。 要獲取有關錯誤的詳細資訊,請在 Administration System Settings Customizations>啟用對外掛程式跟蹤日誌>的日誌記錄,然後刪除該虛擬表格並嘗試>再次創建它。