|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
10.11.2021, 13:29 | #1 |
Новичок
Джуниор
Регистрация: 24.01.2011
Сообщений: 2
|
Дилемма с отсутствием данных в справочнике при загрузке журнала
Всем добрый день! Возникла такая ситуация, когда приходят данные из смежной системы со справочными данными, которые у нас лежат в отдельных справочниках, но при этом таких данных в этих справочниках не было. Справочники обновились через 8 часов(уж по какой причине это произошло так а не иначе - хз, и со слов руководителя - это абсолютно нормальная практика и менять там никто ничего не будет). Получилось так, что в журнал записались данные без ссылок на справочные данные, таким образом ценность этих данных = 0.
Немного покумекав, накидал 3 возможных варианта обхода проблемы : 1) Не обрабатывать те данные, которые не имеют ссылок на справочники, а складывать их в некий буфер и обрабатывать по факту прихода справочных данных. 2) Создавать фейковые строки для справочников, подставлять их в журнал, а по приходу справочных данных обновлять строки в справочниках 3) Создавать на каждый справочник по одной записи(типа системной) и привязывать к ней, пока не пришли справочные данные. После прихода перепривязывать к реальным справочным данным. Буду признателен, если кто-то предложит свой вариант, или раскритикует мои) P.s. Приложил примерную схему(в журнал данные грузятся, а на справочники ссылаются) Последний раз редактировалось exzupery; 10.11.2021 в 16:43. Причина: Добавлена примерная схема для понимания |
11.11.2021, 08:13 | #2 |
Старожил
Регистрация: 25.02.2007
Сообщений: 4,177
|
не очень понятно, хотите сказать, что при записи в журнал уже фигурируют данные из обновленного справочника? Как это возможно?
в порядке приоритета я бы сделал следующее? 1. все же попытался разобраться почему так происходит и как это исправить 2. допустим что п 1 не вариант, надо понимать в каком виде приходят данные в журнал если БД грамотная, поля справочников должны иметь внешний ключ со справочником, и соответственно при попытке записать в это поле что-то не имеющееся в справочнике - давать жесткий облом не записывая записи в журнал. опять же надо понимать что приходит - индекс из "обновленного" справочника или само значение справочника, то есть если поле цвет, что приходит - номер цвета из справочника, или прямо само новое название "синий" например? |
11.11.2021, 10:17 | #3 |
Новичок
Джуниор
Регистрация: 24.01.2011
Сообщений: 2
|
ADSoft,
Обновление справочников и журнала носит асинхронный характер, и мы не можем завязываться на то, что придут данные в журнал, когда справочники будут уже обновлены. Внешние ключи на справочники в журнале присутствуют, но они NULLABLE на данный момент. Формально в рамках журнала приходит идентификатор справочника из внешней системы. Мы его не считаем уникальным в рамках этой системы и создаем свой ключ справочника. |
11.11.2021, 14:19 | #4 |
Старожил
Регистрация: 25.02.2007
Сообщений: 4,177
|
раз такая пъянка - нахер внешние ключи, пишите те значения которые вам передаются и похер
журнал потом все нормально отобразит - когда справочники обновятся а пока у вас нет данных из справочника - вы полюбому ничего адекватного по этим данным в журнале не сможете отобразить))) .. тип делать проверку - если данный в справочнике нет - писать - "данные в пути" )))) |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
TThread (потоки) при загрузке файлов в базу SQL Server - как загрузить файл размером 100 мб в базу данных SQL Server, обработать и выгрузить его из базы? | artemavd | SQL, базы данных | 7 | 16.11.2018 09:19 |
Как сделать прогресс-бар при загрузке данных ADOTable в C++ Builder? | avpdnepr | C++ Builder | 2 | 17.12.2016 13:19 |
Проблема при загрузке ПК. | Натулёк | Операционные системы общие вопросы | 2 | 06.09.2010 11:29 |
ф1 задалбала при загрузке!! | Motor1366 | Помощь студентам | 2 | 06.06.2010 16:36 |
Выбор ОС при загрузке ПК | [Smarik] | Операционные системы общие вопросы | 12 | 23.03.2009 10:59 |