OLE DB не удалось преобразовать значение в запрошенный тип данных - PullRequest
0 голосов
/ 21 мая 2019

Ниже приведено описание SQL Server Edition (стандарт 2017), версия SSAS - 14.0.6.443

. Проблема лучше всего отражена в сообщениях об ошибках во время обработки:

Ошибки ввнутренний модуль доступа к базе данных.OLE DB не удалось преобразовать значение в тип данных, запрошенный для столбца 'dbo_Fact_Purchase_Order_Detail0_2'.

Ошибки в механизме хранения OLAP: произошла ошибка при обработке раздела «Сведения о заказе на покупку» раздела «Поставщики»'группа мер для куба' Cube_Name 'из базы данных SSAS PRD.

Сначала ошибка, по-видимому, была связана с типами данных.Другие экземпляры SSAS на разных серверах могут читать данные, а рассматриваемый экземпляр SSAS - нет.Кажется, проблема в SSAS или соединителе OLE DB (из SSAS).

Ситуация

Мы заняты установкой нового сервера разработки и производства sql.ETL (использующий SSIS) уже работает, и мы приступили к обработке куба, что не очень хорошо.

В Visual Studio мы можем развернуть один и тот же проект куба SSAS на новых и старых серверах.Старые серверы могут обрабатывать куб, но новые не могут обрабатывать куб.Базовое представление источника данных отличается только именем сервера

. После поиска в Google и тестирования мы думаем / думаем, что проблема связана с настройкой сопоставления или языка: поскольку мы нашли следующие возможные полезные обращения в Google:

Мы пробовали следующее:

  • Выполнить запрос, сгенерированный для обработки куба на исходной базе данных: Success

  • Развертывание и обработка проекта SSAS на старом сервере производства и разработки: Успех

  • Исключено значение 0,000000 с настроенным запросом в разделесвойства группы мер. Успешная обработка

  • Сравните настройки старого и нового серверов и базы данных SSAS одинаковы. Они одинаковы

  • Обработка только измерения была успех

  • Смена пользователя, который запускаетагент службы SSAS для моей личной учетной записи, безуспешно при обработке

  • Сравните все параметры, указанные в приведенной выше ссылке doc.microsoft.com Нет различий

  • Резервное копирование и восстановление действующего куба на старом производственном сервере на новый производственный сервер и обработка куба Обработка не удалась

  • Обновление представления источника данных не помогло

  • Проверка таблицы и базы данных на недопустимые значения Все значения действительны

  • Изменено 0,000000 до значения NULL Не помогло

  • Добавлено Packet Size=32767 встрока подключения источника данных, безуспешно

  • Мы также попробовали Собственный OLE DB \ Собственный клиент SQL Server 11.0 вместо Собственный поставщик OLE DB \ Microsoft OLE DB для SQL Server не дал положительного результата.

  • Преобразованные значения из Decimalдо Float.Float и Double, используемые в SSAS, идентичны, но все еще обрабатывают Не удалось с той же ошибкой.

  • Деинсталлированный SSAS en произвел новую установку,та же ошибка, безуспешно http://nisalbi.blogspot.com/2017/08/how-to-uninstall-sql-server-analysis.html

Запрос, сгенерированный ssas для обработки куба

SELECT 
[dbo_Fact_Purchase_Order_Detail].[dbo_Fact_Purchase_Order_Detail0_0] AS [dbo_Fact_Purchase_Order_Detail0_0],
[dbo_Fact_Purchase_Order_Detail].[dbo_Fact_Purchase_Order_Detail0_1] AS [dbo_Fact_Purchase_Order_Detail0_1],
[dbo_Fact_Purchase_Order_Detail].[dbo_Fact_Purchase_Order_Detail0_2] AS [dbo_Fact_Purchase_Order_Detail0_2],
[dbo_Fact_Purchase_Order_Detail].[dbo_Fact_Purchase_Order_Detail0_3] AS [dbo_Fact_Purchase_Order_Detail0_3],
[dbo_Fact_Purchase_Order_Detail].[dbo_Fact_Purchase_Order_Detail0_4] AS [dbo_Fact_Purchase_Order_Detail0_4],
[dbo_Fact_Purchase_Order_Detail].[dbo_Fact_Purchase_Order_Detail0_5] AS [dbo_Fact_Purchase_Order_Detail0_5],
[dbo_Fact_Purchase_Order_Detail].[dbo_Fact_Purchase_Order_Detail0_6] AS [dbo_Fact_Purchase_Order_Detail0_6],
[dbo_Fact_Purchase_Order_Detail].[dbo_Fact_Purchase_Order_Detail0_7] AS [dbo_Fact_Purchase_Order_Detail0_7],
[dbo_Fact_Purchase_Order_Detail].[dbo_Fact_Purchase_Order_Detail0_8] AS [dbo_Fact_Purchase_Order_Detail0_8],
[dbo_Fact_Purchase_Order_Detail].[dbo_Fact_Purchase_Order_Detail0_9] AS [dbo_Fact_Purchase_Order_Detail0_9],
[dbo_Fact_Purchase_Order_Detail].[dbo_Fact_Purchase_Order_Detail0_10] AS [dbo_Fact_Purchase_Order_Detail0_10],
[dbo_Fact_Purchase_Order_Detail].[dbo_Fact_Purchase_Order_DetailSK_DateTransaction0_11] AS [dbo_Fact_Purchase_Order_DetailSK_DateTransaction0_11],
[dbo_Fact_Purchase_Order_Detail].[dbo_Fact_Purchase_Order_Detail0_12] AS [dbo_Fact_Purchase_Order_Detail0_12],
[dbo_Fact_Purchase_Order_Detail].[dbo_Fact_Purchase_Order_Detail0_13] AS [dbo_Fact_Purchase_Order_Detail0_13],
[dbo_Fact_Purchase_Order_Detail].[dbo_Fact_Purchase_Order_Detail0_14] AS [dbo_Fact_Purchase_Order_Detail0_14],
[dbo_Fact_Purchase_Order_Detail].[dbo_Fact_Purchase_Order_Detail0_15] AS [dbo_Fact_Purchase_Order_Detail0_15],
[dbo_Fact_Purchase_Order_Detail].[dbo_Fact_Purchase_Order_Detail0_16] AS [dbo_Fact_Purchase_Order_Detail0_16],
[dbo_Fact_Purchase_Order_Detail].[dbo_Fact_Purchase_Order_Detail0_17] AS [dbo_Fact_Purchase_Order_Detail0_17],
[dbo_Fact_Purchase_Order_Detail].[dbo_Fact_Purchase_Order_Detail0_18] AS [dbo_Fact_Purchase_Order_Detail0_18],
[dbo_Fact_Purchase_Order_Detail].[dbo_Fact_Purchase_Order_Detail0_19] AS [dbo_Fact_Purchase_Order_Detail0_19],
[dbo_Fact_Purchase_Order_Detail].[dbo_Fact_Purchase_Order_Detail0_20] AS [dbo_Fact_Purchase_Order_Detail0_20],
[dbo_Fact_Purchase_Order_Detail].[dbo_Fact_Purchase_Order_Detail0_21] AS [dbo_Fact_Purchase_Order_Detail0_21],
[dbo_Fact_Purchase_Order_Detail].[dbo_Fact_Purchase_Order_Detail0_22] AS [dbo_Fact_Purchase_Order_Detail0_22],
[dbo_Fact_Purchase_Order_Detail].[dbo_Fact_Purchase_Order_Detail0_23] AS [dbo_Fact_Purchase_Order_Detail0_23],
[dbo_Fact_Purchase_Order_Detail].[dbo_Fact_Purchase_Order_DetailSK_ActualShipDate0_24] AS [dbo_Fact_Purchase_Order_DetailSK_ActualShipDate0_24]
FROM 
(
SELECT 1   AS 
[dbo_Fact_Purchase_Order_Detail0_0],[AmountReceived (PDAREC)] AS [dbo_Fact_Purchase_Order_Detail0_1],
[AmountUnitVolume (PDITVL)] AS [dbo_Fact_Purchase_Order_Detail0_2],
[UnitsPrimaryQtyOrder (PDPQOR)] AS [dbo_Fact_Purchase_Order_Detail0_3],
[AmountUnitWeight (PDITWT)] AS [dbo_Fact_Purchase_Order_Detail0_4],
[AmountExtendedCost (PDECST)] AS [dbo_Fact_Purchase_Order_Detail0_5],
[CumulativeReceived (PDCREC)] AS [dbo_Fact_Purchase_Order_Detail0_6],
[UnitsTransactionQty (PDUORG)] AS [dbo_Fact_Purchase_Order_Detail0_7],
[AmountExtendedPrice (PDAEXP)] AS [dbo_Fact_Purchase_Order_Detail0_8],
[UnitsSecondaryQtyOr (PDSQOR)] AS [dbo_Fact_Purchase_Order_Detail0_9],
[AddressNumber (PDAN8)] AS [dbo_Fact_Purchase_Order_Detail0_10],
[SK_DateTransaction] AS [dbo_Fact_Purchase_Order_DetailSK_DateTransaction0_11],
[CompanyKeyOrderNo (PDKCOO)] AS [dbo_Fact_Purchase_Order_Detail0_12],
[DocumentOrderInvoiceE (PDDOCO)] AS [dbo_Fact_Purchase_Order_Detail0_13],
[OrderType (PDDCTO)] AS [dbo_Fact_Purchase_Order_Detail0_14],
[OrderSuffix (PDSFXO)] AS [dbo_Fact_Purchase_Order_Detail0_15],
[LineNumber (PDLNID)] AS [dbo_Fact_Purchase_Order_Detail0_16],[Location (PDLOCN)] AS [dbo_Fact_Purchase_Order_Detail0_17],
[CostCenter (PDMCU)] AS [dbo_Fact_Purchase_Order_Detail0_18],
[AddressNumberShipTo (PDSHAN)] AS [dbo_Fact_Purchase_Order_Detail0_19],
[Company (PDCO)] AS [dbo_Fact_Purchase_Order_Detail0_20],
[OutsideReverence1 (PDVR04)] AS [dbo_Fact_Purchase_Order_Detail0_21],
[IdentifierShortItem (PDITM)] AS [dbo_Fact_Purchase_Order_Detail0_22],
[ProjectNumber (PDPRJM)] AS [dbo_Fact_Purchase_Order_Detail0_23],
[SK_ActualShipDate] AS [dbo_Fact_Purchase_Order_DetailSK_ActualShipDate0_24]
FROM [dbo].[Fact_Purchase_Order_Detail]
)
 AS [dbo_Fact_Purchase_Order_Detail]```


We expected that the cube should process successfully since we have the same database structure as data source view and we could not found any differentiation in the general and connection properties between the old and new servers.
...