Как синхронизировать изменяемую таблицу в 1С с Oracle БД?
Есть задача репликации данных из БД 1С в Oracle, для целей аналитики.
Хочется инкрементную синхронизацию, а не перекладывание всех данных каждый раз.
Для добавления данных есть идея получать max(INDEX_ROW) в Oracle и выбирать из 1С строки, где INDEX_ROW больше максимального уже перенесенного.
Но как получить изменения, в случае, если какие-то строки были изменены - в 1С это возможно ?
Никакой max indexrow вам не поможет. Это же не Excel. Но если вы знаете к примеру что данные имею дату создания и partitioning по этой дате, то тогда запрос может быть улучшен по плану и по логике.
даты создания нет( есть айдишники, которые ++1 создаются, почему нельзя брать айдишник больше самого большого?
Как можно решить вопрос с изменением данных? писать последнюю дату изменения в табличку в 1С?
slavashock, смотри. Если-бы я был разработчиком этой системы - то я бы брал информацию в первоисточнике. Если события зарождаются в приложении 1С - то оттуда мы и должны их реплицировать в таблицы аналитики.
Трекинг изменений в Оракле - это отдельная сложная задача. И мне кажется что она выходит далеко за рамки связки Oracle + 1C. У Оракла есть решения для репликаций но очень сомнительно что это возможно применить в твоём случае. Попробуй добавить даты и партишенинг.