Пакет PurchaseOrderDetail для кубов анализа может не загружать все заказы на покупку
В этой статье описано решение проблемы, из-за которой заказы на покупку могут быть отсутствуют в кубах анализа для Microsoft Dynamics GP.
Область применения: Microsoft Dynamics GP
Исходный номер базы знаний: 2851158
Симптомы
Заказы на покупку отсутствуют в кубах анализа для Dynamics GP.
Причина
Это вызвано ошибкой в пакете SSIS PurchaseOrderDetail, который выполняется во время загрузки данных из Dynamics GP в базу данных хранилища данных analysis Cubes. Ошибка возникает из-за сравнения меток времени в метке времени LastUpdated и LSTEDTDT/CREATDDT/DOCDATE строки сведений о заказе на покупку в базе данных Dynamics GP. Метка времени в значении LastUpdated включает HH:MM:SS, а LSTEDTDT/CREATDDT/DOCDATE не является. Это различие может привести к тому, что заказы на покупку не будут включены в кубы анализа.
Решение
Чтобы устранить эту проблему, выполните следующие действия.
- Откройте Среду разработки бизнес-аналитики SQL Server (BIDS).
- Щелкните "Файл", наведите указатель мыши на "Создать", а затем выберите "Проект...".
- Нажмите кнопку ОК.
- Щелкните правой кнопкой мыши папку пакетов служб SSIS в области Обозреватель решений и выберите "Добавить существующий пакет".
- Выберите хранилище пакетов служб SSIS для расположения пакета.
- Введите имя СЕРВЕРА SQL, где пакеты служб SSIS analysis Cubes находятся в поле сервера .
- При необходимости выберите тип проверки подлинности и введите пользователя.
- Нажмите кнопку многоточия рядом с полем пути пакета.
- Разверните MSDB.
- Разверните папку analysis Cubes SSIS.
- Найдите пакет служб SSIS, который заканчивается "PurchaseOrderDetail". Нажмите кнопку " ОК".
- Нажмите кнопку ОК.
- Дважды щелкните пакет SSIS PurchaseOrderDetail в области Обозреватель решений.
- Дважды щелкните значок внутри задачи "Копировать данные из результатов" в ожидание задачиPurchaseOrders, чтобы открыть ее.
- Дважды щелкните значок внутри сущности источника OLE DB.
- Скопируйте содержимое текстового раздела команды SQL в текстовый редактор, например Блокнот.
- В текстовом редакторе используйте функцию Replace для замены
select @lastdate = DateUpdated from [DynamicsGPWarehouse].[dbo].[LastUpdated] where CompanyID = @CompID and TableName = 'PurchaseOrderDetail'
select @lastdate = convert(char(12),DateUpdated,101) from [DynamicsGPWarehouse].[dbo].[LastUpdated] where CompanyID = @CompID and TableName = 'PurchaseOrderDetail'
. - Вернитесь к BIDS и выделите весь текст в текстовом разделе команды SQL, а затем нажмите клавишу DELETE, чтобы удалить текст.
- Скопируйте обновленный текст из текстового редактора в текстовый раздел команды SQL.
- Нажмите кнопку "Анализ запроса ". Если запрос не был успешно проанализирован, текст был неправильно обновлен или скопирован правильно. Нажмите кнопку "Отмена" в окне редактора источника OLE DB и повторите шаги 15–20.
- Сохраните изменения пакета SSIS PurchaseOrderDetail в BIDS.
- Откройте СРЕДУ SQL Server Management Studio и подключитесь к экземпляру служб SSIS, где находятся пакеты кубов анализа.
- Разверните папку хранимых пакетов .
- Разверните MSDB.
- Щелкните правой кнопкой мыши папку служб SSIS "Анализ кубов" и выберите пункт "Импорт пакета".
- Выберите файловую систему для расположения пакета.
- Нажмите кнопку многоточия рядом с путьом к пакету.
- Найдите и выберите файл пакета служб SSIS, сохраненный на шаге 21, и нажмите кнопку "Открыть".
- Нажмите кнопку ОК.
- Нажмите кнопку "Да" , чтобы перезаписать.