Ошибка обработки Куба SSAS о привязке столбца

это сообщение об ошибке, которое я получаю после обработки Куба SSIS

Errors in the back-end database access module. The size specified for a binding was too small, resulting in one or more column values being truncated.

Впрочем, это не дает мне никаких указаний на то, что привязка столбцов слишком мала.

как отладить это?

10 ответов


  1. откройте базу данных SSAS с помощью SQL Server Data Tools.
  2. откройте представление источника данных базы данных SSAS.
  3. щелкните правой кнопкой мыши пустое пространство и нажмите Refresh
  4. откроется окно, в котором будут показаны все изменения базовой модели данных.

документация


это сообщение об ошибке сводило меня с ума в течение нескольких часов. Я уже нашел, какой столбец увеличил свою длину и обновил таблицу данных в источнике, которая теперь показывала правильную длину. Но ошибка просто продолжала появляться. Оказывается, это поле использовалось в ссылке факт-измерение на вкладке использование измерения Куба. И когда вы обновляете источник, привязка, созданная для этой ссылки, не обновляется. Исправление состоит в том, чтобы удалить (изменить тип отношения на "нет отношения") и воссоздать эту связь.

Upd: поскольку этот ответ, похоже, по-прежнему актуален, я подумал, что добавлю скриншот, показывающий область, где вы можете столкнуться с этой проблемой. Если по какой-либо причине вы используете строку для связи измерения с фактом, на нее может повлиять увеличенный размер. И решение описано выше. Это является дополнительным к проблеме со столбцами Key, Name и Value атрибута измерения. Dimension Usage screen


ESC является правильным. Установите помощник ставок из CodePlex. Щелкните правой кнопкой мыши папку измерения и запустите проверку несоответствия данных.

Проверка Несоответствия Типа Данных Измерений

это исправило мою проблему.


альтернативное исправление #1-SQL Server 2008 R2 (не пробовал 2012, но предположим, что это сработает).

  1. обновить / обновить DSV. обратите внимание на любые измененные столбцы так что вы можете рассмотреть.
  2. откройте каждое измерение, использующее измененные столбцы. Найдите связанный атрибут и разверните properties свойства keycolumns, NameColumn и ValueColumn.
  3. просмотрите свойства DataSize для каждого, и если они это делают не соответствует значению из DSV, отредактируйте соответственно. Property Sheet

Альтернативное Исправление #2

  1. откройте *.dim-файл и поиск имени столбца / привязки.
  2. изменить элемент размера данных:<DataSize>100</DataSize>

Как отметил Esc, обновления размера столбца могут повлиять на использование измерения в самом Кубе. Вы можете сделать так, как предлагает Esc, или отредактировать *.Cube file directly-поиск обновленного атрибута и связанный элемент размера данных:<DataSize>100</DataSize>

Я пробовал оба исправления, когда размер столбца изменился, и они оба работают.


в моем случае проблема заключалась в работе над кубом на live server. Если вы работаете над Cube live, при подключении к серверу появляется это сообщение об ошибке. Но при работе над кубом в качестве решения, сохраненного на компьютере, вы не получите сообщение об ошибке. Поэтому работайте над кубом локально и развертывайте после внесения изменений.


в моем конкретном случае проблема заключалась в том, что мой запрос считывался из Oracle, а жестко закодированный столбец имел конечное пространство (моя ошибка).

Я удалил конечное пространство и для хорошей меры привел жестко закодированное значение CAST ('MasterSystem' as VarChar2(100)) as SOURCE

это решило мою конкретную проблему.


Я столкнулся с этой проблемой. Вопрос решается путем удаления ведущих и конечных пробелов и функций rtrim и ltrim.


Я столкнулся с той же проблемой, при обновлении источника данных не работает. У меня было материализованное ссылочное измерение для раздела фактов, который давал мне ошибку. В моей среде разработки I снят материализуются и обработал раздел без ошибки.
Как ни странно, теперь я могу включить материализацию для тех же отношений, и она все равно будет работать без проблем.


простая вещь, чтобы попробовать сначала - у меня это произошло несколько раз за эти годы.

  1. перейдите к представлению источника данных и обновите (может показаться, что ничего не происходит, но это хорошая практика)
  2. "изменить размер". Удалите атрибут проблемы, затем перетащите его снова из списка представление источника данных.
  3. повторный процесс полный.

как упоминали другие, причиной могут быть также данные с конечными пробелами. Проверка для них: SELECT col FROM tbl WHERE col LIKE '% '


запуск в ту же проблему, ответ от Esc может быть решением. Причина гораздо более "скрыта", а более очевидные решения "обновить" и "проверка несоответствия типа данных" не приносят никакой пользы в моем случае.

Я не нашел правильного способа "отладить" эту проблему.