Поделиться через


Известные ограничения и устранение неполадок с виртуальными таблицами

В этой статье описаны известные ограничения и советы по устранению неполадок при работе с виртуальными таблицами в Microsoft Dataverse.

Ниже приведен список известных ограничений для виртуальных таблиц, созданных с помощью поставщика виртуального соединителя.

Общие ограничения

  • Используемая таблица или список должны включать по крайней мере одно строковое поле, которое будет использоваться в качестве основного поля, и одно поле GUID. Без этих строковых полей невозможно создать виртуальная таблица и возникает ошибка на этапе извлечения данных таблицы.
    • SharePoint использует скрытое поле числового идентификатора, присутствующее во всех списках
    • SQL может использовать поле GUID или поле с целым числом
    • Excel должен иметь поле GUID
  • Dataverse может создавать только столбцы, включающие типы данных, совместимые с Dataverse. Сюда входят следующие типы данных:
    • String
    • Многострочный текст (заметка)
    • Целое число
    • Decimal
    • Акции в свободном обращении
    • Дата/время
    • Да/Нет (логическое значение)
    • Выбор (выбор из нескольких значений)
    • Гиперссылка/URL
  • Типы данных, не поддерживаемые для виртуальных таблиц:
    • Файлы и вложения
    • Изображения
  • Максимальное количество символов, разрешенное для текстового столбца в виртуальной таблице, составляет 4000 символов. Если в исходной таблице максимальный предел числа символов превышает это значение, любая операция создания или обновления, превышающая максимальный предел числа символов, приведет к ошибке проверки, и операция завершится неудачей.
  • Запросы виртуальных таблиц могут возвращать не более 1,000 записей. Если у вас есть пользовательское многотабличное (полиморфное) отношение 1:N или N с виртуальной таблицей, любой запрос, превышающий этот предел, завершится сбоем и выдаст ошибку. Используйте фильтрацию в своем запросе, чтобы уменьшить набор записей в качестве обходного пути для этого ограничения.
  • Функциональность аудита недоступна для виртуальных таблиц, поскольку Dataverse может выполнять и хранить данные аудита только для локально хранимых данных.
  • Для виртуальных таблиц нельзя рассчитать сводки или вычисляемые поля. Это связано с тем, что сводки являются расчетом на стороне сервера в Dataverse, который требует, чтобы данные хранились локально.
  • Microsoft Entra Идентификатор виртуальная таблица, предоставленный Microsoft, разрешает только доступ для чтения.
  • Виртуальные таблицы Dataverse могут отображать значения в полях, которые превышают обычные максимальные значения Dataverse. Такое поведение связано с тем, что представленные значения не сохраняются локально. Например, максимальное значение Dataverse для целого числа равно 100 000 000 000, но оно может извлекать и отображать 9 000 000 000 000 из SharePoint. Однако если пользователь попытается отредактировать число до размера, превышающего максимально допустимый размер в Dataverse, выдается ошибка, указывающая, что запись не может быть сохранена, поскольку она превышает максимальный размер.
  • Функция импорта и экспорта данных таблицы не поддерживается для виртуальных таблиц.

Для каждого ограничения источник данных

Ниже приведены ограничения для каждого источника данных.

  • Виртуальные таблицы SQL могут использовать GUID или целочисленное поле в качестве первичного ключа для обеспечения функциональности.
  • Таблицы SQL Server без первичных ключей: в качестве первичного ключа можно выбрать любое нестроковое поле. Виртуальная таблица должна быть успешно создана. RetrieveMultiple работает, другие операции завершаются со следующим сообщением об ошибке (поступающим от коннектора SQL): "APIM-запрос не был выполнен успешно: BadRequest: Первичный ключ в таблице отсутствует". Для функциональности в качестве первичного ключа необходимо использовать GUID или целочисленное поле.
  • Таблицы SQL Server, использующие строковый первичный ключ: строковый первичный ключ SQL является единственным вариантом, доступным для первичного ключа виртуальной таблицы. Строковые первичные ключи SQL Server поддерживаются только в том случае, если значения могут быть проанализированы как GUID. Если их нельзя проанализировать как GUID, создание виртуальной таблицы завершается успешно, но произойдет сбой во время выполнения со следующими ошибками:
    • Power Apps (make.powerapps.com): «Нам не удалось открыть ваш стол. Попробуйте перезагрузить или снова открыть ее".
    • Трассировка сети: "Строковые первичные ключи поддерживаются только в том случае, если они могут быть проанализированы как GUID".
  • SQL Таблицы сервера без строковых полей непервичного ключа для использования в качестве первичного имени: Если в таблице SQL нет строкового поля, доступного для использования в качестве первичного имени, мы отображаем следующую ошибку в конфигурации шаг: «В таблице нет первичного поля»
  • Представления SQL можно использовать для создания виртуальной таблицы, но они обеспечивают только операции чтения.
  • Информацию об ограничениях коннектора сервера SQL см. в разделе Справочник коннектора сервера SQL.
  • SQL Столбцы типа bigint в исходной таблице отображаются как десятичный тип данных в Dataverse виртуальных таблицах. Когда платформа поддерживает сопоставление bigint с целым числом, необходимо удалить ранее созданные столбцы в виртуальной таблице и создать новые столбцы.
  • В настоящее время в виртуальная таблица нельзя включить следующие типы столбцов:
    • Время
    • Дата и время2
    • Изображения
    • Геометрия
    • Географический регион
    • RowVersion
  • Следующие типы столбцов включены в виртуальная таблица, но отображаются только как текстовые поля:
    • ИД иерархии
    • XML
    • Sqlvariant

Устранение неполадок

  • Доступна только одна (1) запись в виртуальной таблице, хотя в исходной таблице их больше.
    Решение: Проверьте исходную таблицу и убедитесь, что в ней определен первичный ключ.

  • Вы получаете одну из следующих ошибок, когда Power Apps (make.powerapps.com) извлекает список таблиц или когда вы выбираете Готово для создания таблицы:

    • «Ресурс не найден для сегмент msdyn_get_required_fields»
    • "Ошибка вызова... убедитесь, что подключение... существует в среде"
    • "Последовательность не соответствует ни одному элементу для msdyn_get_required_fields"
      Решение: В некоторых случаях у вас может не быть самого актуального решения для поставщика виртуального коннектора. Чтобы определить, нуждается ли ваше решение поставщика виртуального соединителя в обновлении, выполните указанные ниже действия.
    1. Выберите Решения на левой навигационной панели. Если этого пункта нет на боковой панели, выберите …Еще, а затем выберите нужный пункт.
    2. Выберите вкладку История .
    3. Поиск ConnectorProvider.
    4. Просмотрите информацию, чтобы узнать, нужно ли обновить решение.
    5. Если история указывает на необходимость обновления, перейдите на коммерческую торговую площадку Microsoft , найдите Virtual Connector Provider, а затем выберите Получить сейчас , чтобы импортировать решение в свою среду.
    6. Следуйте инструкциям, чтобы снова создать виртуальную таблицу.
  • Отображается сообщение "Соединение xyz не найдено в текущей среде". при получении списка подключений.
    Решение: Это происходит, когда в среде пользователя Dataverse имеется большое количество подключений. Это исправлено в версии 1029 решения от поставщика соединителей. Чтобы определить, нуждается ли ваше решение поставщика виртуального соединителя в обновлении, выполните указанные ниже действия.

    1. Выберите Решения на левой навигационной панели. Если этого пункта нет на боковой панели, выберите …Еще, а затем выберите нужный пункт.
    2. Выберите вкладку История .
    3. Поиск ConnectorProvider.
    4. Просмотрите информацию, чтобы узнать, нужно ли обновить решение.
    5. Если история указывает на необходимость обновления, перейдите на коммерческую торговую площадку Microsoft , найдите Virtual Connector Provider, а затем выберите Получить сейчас , чтобы импортировать решение в свою среду.
    6. Следуйте инструкциям, чтобы снова создать виртуальную таблицу.
  • Вы получите уведомление о том, что во время создания виртуальная таблица произошел тайм-аут.
    Решение: Это может произойти, когда другие существующие задания вызывают задержку создания виртуальная таблица. Подождите несколько минут и повторите попытку.

  • Вы получаете уведомление о том, что «Произошла непредвиденная ошибка»
    Решение: Это происходит, когда виртуальная таблица источник данных был создан с недопустимыми значениями. Чтобы устранить эту проблему, необходимо найти виртуальная таблица источник данных, вызывающий ошибку, удалить его, а затем заново создать виртуальная таблица.

    1. Выберите Настройки (значок шестеренки) >Дополнительные настройки из Power Apps.
    2. В верхнем меню выберите Настройки.
    3. Перейдите в Решения. Если этого пункта нет на боковой панели, выберите …Еще, а затем выберите нужный пункт.
    4. Перейдите к решению, включающему вашу виртуальную таблицу (если вы не использовали решение, перейдите к решению по умолчанию Common Data Services).
    5. На левой панели выберите виртуальная таблица data sources.
    6. Дважды щелкните каждый источник данных (все они начинаются с VCP_DS_..."), когда найдете тот, в котором есть ошибка, удалите его.
    7. Создайте заново виртуальная таблица.
  • Появится сообщение "Эта таблица уже существует, вы заново создаете таблицу. Основное поле и имя схемы изменить нельзя».
    Решение: Эта таблица была создана ранее. При продолжении создания таблица создается заново, в результате чего любые изменения таблицы, внесенные в источник данных, обновляются в виртуальная таблица (включая добавление или удаление полей). Значения пользовательского имени и основного поля будут недоступны для редактирования.

  • Сообщение об ошибке: «primary_key_name не может быть пустым»
    Решение: Вы выбрали таблицу или список, которые не содержат значение GUID для первичного ключа. Чтобы создать виртуальная таблица, вам необходимо добавить дополнительный столбец GUID в исходную таблицу.

  • Вы создали Excel виртуальная таблица, но не видите его в области Таблицы в Power Apps.
    Решение: Поскольку создание виртуальная таблица происходит асинхронно, вы можете проверить состояние процесса в системных заданиях. Найдите системные задания с именем, начинающимся с Microsoft.Wrm.DataProvider.Connector.Plugins.ConnectorGenerateVEPlugin и значением столбца Rewarding , равным имени нового виртуальная таблица. Если статус по-прежнему В процессе, просто дождитесь завершения задания. Если произошла ошибка, вы можете получить подробную информацию, выбрав гиперссылку с названием системы или задания. В этом примере создание таблицы еще не завершено:

    создание таблицы в ожидании

    Здесь не удалось создать таблицу из-за ошибки 429 «Слишком много запросов»:

    Создание таблицы не удалось из-за ошибки 429

  • Системная задача создания таблицы выполнена успешно, но возникают ошибки выполнения, связанные с недопустимыми или отсутствующими столбцами.
    Решение: Если при создании поля таблицы происходит сбой, процесс создания таблицы не прерывается и выполняется попытка продолжить работу с оставшимися полями. Это связано с тем, что система не хочет блокировать создание виртуальная таблица, если некоторые типы столбцов не поддерживаются. Чтобы получить подробную информацию об ошибке, включите ведение журнала в разделе Администрирование>Параметры системы>Настройки>Включите ведение журнала трассировки подключаемого модуля, затем удалите виртуальная таблица и попробуйте создать его снова.

Дальнейшие шаги

Создайте виртуальные таблицы с помощью поставщика виртуального коннектора (предварительная версия)

Настройка отношения виртуальных таблиц