Поиск в SSIS не совпадает с равными значениями datetime, если режим кэширования является частичным или отсутствует кеш - PullRequest
0 голосов
/ 19 ноября 2018

У нас есть Lookup для сопоставления входящих записей из временной таблицы и отфильтровывания дубликатов перед входом в таблицу назначения.Таблицы temp и destination имеют одно и то же определение.При сопоставлении сравниваются 3 столбца с типом текста, чисел и даты и времени.

Он работает правильно в режиме полного кэширования, но исчерпает память, когда данные увеличиваются до реально огромного размера.Поиск пытается загрузить всю таблицу назначения в память и вызывает бесконечную замену.

Для производительности попытался изменить ее на частичный кеш и отсутствие кеша, и изменения нарушают правильность, потому что равные значения в столбце datetime терпят неудачусовпадения и повторы экранируют фильтр в таблицу данных назначения.

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

Средой является SQL Server 2016, Visual Studio 2015 и Windows Server 2016. И в случае отладки Visual Studio происходит сбой сопоставления.,Дополнительная информация доступна в случае необходимости, и большое спасибо заранее.

1 Ответ

0 голосов
/ 22 ноября 2018

У меня сейчас пробное исправление, но я не уверен, что это лучший метод.Я изменил запрос SQL, добавив столбец строки в стиле 121 («гггг-ММ-дд чч: мм: сс.ффф»), включая миллисекунды, а затем использовал сравнение строк.

Благодаря @PrabhatGдля подсказки о том, как узнать, какая часть даты и времени прерывается, будь то дата или время дня.

Получил ответ по ссылке ниже: https://social.msdn.microsoft.com/Forums/en-US/a35e21cf-735c-4061-929c-b117389e38b5/ssis-lookup-not-matching-on-equal-values-of-datetime-if-cache-mode-is-partial-or-no-cache?forum=sqlintegrationservices

Если выесть лучшее решение, пожалуйста, поделитесь с нами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...