虛擬表格的已知問題和疑難排解
本文說明在 Microsoft Dataverse 中使用虛擬表格時的已知限制和疑難排解提示。
已知限制
以下是使用虛擬連接器提供者所建立之虛擬表格的已知限制清單。
一般
- 使用的資料表或清單必須至少包含一個用作主要欄位字串欄位以及一個 GUID 欄位。 如果沒有這些字串欄位,則無法建立虛擬表格,且在表格詳細資訊檢索階段將產生錯誤。
- SharePoint 會使用所有清單中存在的隱藏數字識別碼欄位
- SQL 可以使用 GUID 或整數欄位
- Excel 必須有 GUID 欄位
- Dataverse 只能建立包含與 Dataverse 相容之資料類型的資料行。 這包括下列資料類型:
- 字串
- 多行文字 (備忘)
- 整數/Integer
- 小數點
- 自由流通股
- 日期時間
- 是/否 (布林值)
- 選擇 (多重值選取)
- 超連結/URL
- 虛擬表格不支援的資料類型:
- 檔案和附件
- Image
- 查閱
- 虛擬表格中文字欄允許的最大字元長度為 4000 個字元。 如果來源表格的最大字元數限制大於此值,則任何超過最大字元限制的建立/更新作業都會造成驗證錯誤,且該作業會失敗。
- 虛擬表格查詢僅限傳回 1,000 個記錄。 如果與虛擬表格有 1:N 或 N 自訂多表格 (多態性) 關聯,則超出此限制的任何查詢都會失敗並會提出錯誤。 在您的查詢中使用篩選,以縮減記錄集做為解決此限制的方法。
- 無法在虛擬表格中使用稽核功能,因為 Dataverse 只能對本機儲存的資料執行和儲存稽核資料。
- 無法計算虛擬表格的彙總或導出欄位。 這是因為彙總是 Dataverse 中的伺服器端計算,需要將資料儲存在本機。
- Microsoft 提供的 Microsoft Entra 識別碼虛擬表格只允許讀取存取。
- 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,則虛擬表格建立會成功,但在執行階段會失敗並出現以下錯誤:
- Maker Portal:「無法開啟資料表。 請嘗試重新載入或重新開啟。」
- 網路追蹤:「只有在字串主索引鍵可以剖析為 GUID 時,才支援字串主索引鍵。」
- SQL Server 表格沒有非主索引鍵字串欄位可以當成主要名稱使用:如果 SQL 表格沒有可用的字串欄位可以用來當成主要名稱,我們會在設定步驟中顯示下列錯誤:「此表格不具有主要欄位」
- SQL 檢視表可以用來建立虛擬表格,但只能提供讀取作業。
- 如需了解 SQL Server 連接器限制,請移至 SQL Server 連接器參考。
- 來源表格中的 SQL 資料類型 Bigint 行將對應為 Dataverse 虛擬表格中的十進位資料類型。 當平台支援 Bigint 對應至整數時,必須先刪除先前在虛擬表格中建立的行,並建立新的行。
- 此時無法將下列欄類型包含在虛擬表格中:
- Time
- Datetime2
- 圖像
- 幾何
- 地理位置
- RowVersion
- 以下行類型包含在虛擬表格中,但僅顯示為文字欄位:
- HierarchyID
- XML
- Sqlvariant
疑難排解
即使來源資料表中有更多的記錄,虛擬表格中也只有一個 (1) 記錄。
解決方案: 檢查來源表格,確定已定義主索引鍵。當 Power Apps (make.powerapps.com) 在擷取我的資料表清單時,或是我選取完成以建立資料表時,收到下列其中一個錯誤:
- 「找不到
msdyn_get_required_fields
區段的資源」 - 「呼叫時發生錯誤... 請驗證連接... 存在於環境中」
- 「序列不符合
msdyn_get_required_fields
的元素」
解決方案:您有時候可能會沒有虛擬連接器提供者的最新解決方案。 若要判斷虛擬連接器提供者解決方案是否需要更新:
- 選取左導覽窗格中的解決方案。 如果此項目不在側邊面板窗格中,請選取 ...其他 ,然後選取您想要的項目。
- 選取歷程記錄索引標籤。
- 搜尋 ConnectorProvider。
- 檢視資訊以了解是否需要更新解決方案。
- 如果歷程記錄指示需要更新,請前往 Microsoft 商業市集搜尋虛擬連接器提供者,然後選取立即取得,將解決方案匯入至您的環境中。
- 依照步驟重新建立虛擬表格。
- 「找不到
顯示一則訊息「在目前環境中找不到連接 ‘xyz’。」(擷取連接清單時)。
解決方案:當使用者 Dataverse 環境中有大量連接時,就會發生此事件。 此問題已於連接器提供者解決方案版本 1029 獲得修正。 更新的版本應可在 2023 年 2 月 20 日前遍及所有地區 。 若要判斷虛擬連接器提供者解決方案是否需要更新:- 選取左導覽窗格中的解決方案。 如果此項目不在側邊面板窗格中,請選取 ...其他 ,然後選取您想要的項目。
- 選取歷程記錄索引標籤。
- 搜尋 ConnectorProvider。
- 檢視資訊以了解是否需要更新解決方案。
- 如果歷程記錄指示需要更新,請前往 Microsoft 商業市集搜尋虛擬連接器提供者,然後選取立即取得,將解決方案匯入至您的環境中。
- 依照步驟重新建立虛擬表格。
收到虛擬表格建立期間發生逾時的通知。
解決方案:其他現有工作造成虛擬表格建立作業延遲時,就會發生此問題。 稍候幾分鐘,然後再試一次。收到「發生未預期的錯誤」的通知
解決方案:使用不正確值建立虛擬表格資料來源時,會發生此問題。 若要解決此問題,您需要找出造成錯誤的虛擬表格資料來源、刪除該虛擬表格,然後重新建立虛擬表格。- 在 Power Apps 選取設定 (齒輪圖示) > 進階設定。
- 在頂端功能表中,選取設定。
- 移至解決方案。 如果此項目不在側邊面板窗格中,請選取 ...其他 ,然後選取您想要的項目。
- 移至包含虛擬表格的解決方案 (如果您未使用解決方案,請移至 Common Data Services 預設解決方案)。
- 在左側面板中,選取虛擬表格資料來源。
- 按兩下每個資料來源 (都是以 VCP_DS_... 開頭),當您找到有錯誤的資料來源時,刪除該資料來源。
- 重新建立虛擬表格。
顯示一則訊息「此資料表已經存在,您即將重新建立資料表。 主要欄位和結構描述的名稱不能變更。」
解決方案:先前已建立此資料表。 繼續進行建立作業將會重新建立資料表,這會導致在資料來源所做的任何資料表變更都會在虛擬表格中進行更新 (這包括新增或移除欄位)。 自訂名稱和主要欄位值將無法編輯。錯誤訊息:「primary_key_name 不能空白」
解決方案:您已選擇不包含主索引鍵 GUID 值的資料表或清單。 您必須在來源資料表中新增額外的 GUID 資料行,才能建立虛擬表格。Excel 虛擬表格已建立,但是在 [資料表] 中看不到。
解決方案:由於虛擬表格建立作業是非同步作業,因此可以在系統作業中檢查程序的狀態。 尋找名稱以Microsoft.Wrm.DataProvider.Connector.Plugins.ConnectorGenerateVEPlugin
開頭且相關欄的值等於新虛擬表格名稱的系統作業。 如果狀態仍為進行中,請等待作業完成。 如果發生錯誤,您可以按一下系統、作業名稱超連結來取得詳細資料。 在此範例中,表格建立仍處於擱置狀態:在此,因為 429「要求過多」錯誤,表格建立失敗:
表格建立的系統作業已成功,但我收到與無效或遺失欄相關的執行階段錯誤
解決方案:如果建立表格的欄位時發生失敗,則表格建立流程不會失敗,並嘗試繼續剩餘的欄位。 這是因為我們不希望在某些欄類型不受支援時阻止虛擬表格的建立。 若要取得錯誤的詳細資料,您可以在管理> 系統設定 > 自訂 > 啟用對外掛程式追蹤記錄的記錄中啟用記錄,然後刪除虛擬表格,然後再次嘗試建立該虛擬表格。