05.07.2017 06:06
qwrty40
 
Доброго времени суток всем!
Начальство захотело странного (вспоминаем Стругацких) - ежедневную сверку списков документов в ЦО и подчиненных базах. Руками, ессно, не вариант. Отсюда, собсно, вопрос:
Цитата:
create public database link mylink connect to user identified by password using 'db01';
create public synonym rtable for user.ltable@mylink;
далее сравнение таблиц.
А нужно ли по завершении делать что-то вроде
Цитата:
drop database link mylink;
с учетом того, что нужно пробежаться по 25 подчиненным базам? Или можно оставить все до завершения?
05.07.2017 08:09
OlegON
 
Если у вас с магазинами не идеальная 100Мбит-связь, то лучше локально сваливать в текстовички, а потом сравнивать с текстовичком в центре, все на скриптах, понятное дело. psexec и robocopy.
В противном случае война с виндой при проседании связи почти гарантирована.
25 линков одновременно для базы вообще не проблема, можно оставить насовсем. Для винды - не знаю. Нормальное ЦО на 25 магазинов на винде не поднимают.
05.07.2017 08:38
qwrty40
 
В этих текстовичках будет строк по 800 ежедневно. Рыть их... Поэтому хотелось что-то типа
Цитата:
spool report.txt
(select ... from BaseCO minus select ... from BaseLoc) union all (select ... from BaseLoc minus select ... from BaseCO)
spool off
Ну еще сравнение сумм (равны или нет) дорисовать...
05.07.2017 08:44
konst
 
Я у себя раз в неделю (понедельник с 6 до 8) на всех базах автоматом выгружаю в текстовый файл:
активные карточки,
остатки,
реестр документов (тип, номер, статус, сумма, контрагент)
и копирую на фтп.
т.к. баз не много, то саму сверку делаю вручную, распаковываю архивы
и сравниваю парные файлы тотал коммандером - если есть косяки - то их сразу видно
пример файлов:
Вложения
Тип файла: 7z sverka.7z (691.9 Кб, 30 просмотров)
05.07.2017 08:54
qwrty40
 
Цитата:
konst Я у себя раз в неделю (понедельник с 6 до 8) на всех базах автоматом выгружаю в текстовый файл:
Аппетит моего начальства приходт во время ... уж и не знаю чего. Во-первых, оно хочет именно ежедневную сверку; во вторых, если поначалу речь шла только о выявлении расхождений, проверке наличия и устранения техничеких сбоев при пересылке, и передаче их (расхождений) в бухгалтерию, то сегодня речь зашла о (в дополнение) сверке остатков, выявлении их причин и устранении оных. Боюсь предположить, что услышу завтра...
05.07.2017 08:55
OlegON
 
Цитата:
qwrty40 Рыть их
Открой для себя diff, например. Ничего глазами рыть не надо. Получать будешь те же текстовички, только за минусом провалов по сети.
05.07.2017 08:56
qwrty40
 
Аж мысль зачесалась - а не сменить ли среду обитания... На бухгалтерию...
20.07.2017 01:05
qwrty40
 
В общем, плюнул на всякие изыски и прочие dblink-и и сделал по детсадовски - планировщик на удаленном серваке запускает cmd-шку
Цитата:
sqlplus supermag/pass@rbase @sverka.sql
copy rbase.txt <servak>\sverka
в sverka.sql тоже примитив:
Цитата:
spool rbase.txt
select id, totalsum from smdocuments where <условие отбора доков>
spool off
disc
exit
На центральном серваке выполняется последовательность spool c_rbase.txt - select - spool off для каждой удаленной базы (этот момент несколько беспокоит - вроде базу покалечить не должно, но...). Потом
Цитата:
fc rbase.txt c_rbase.txt > r_rbase.txt
для каждой пары текстовиков и просмотр результатов (различий не найдено - радуемся, что-то другое - ковыряемся).
Если будет время и не лениво, может утилитку наваяю для просмотра результатов и отсеивания радостных...
20.07.2017 06:58
OlegON
 
В планировщике обязательно поставь небольшое время работы скрипта, скрипты могут и подвисать.
Про форматирование spool почитать не грех.
20.07.2017 07:55
Dim
 
twix когда-то писал нечто подобное... тут лежит SMDocVerifier
правда ссылки нерабочие. Олег, можно восстановить?
Часовой пояс GMT +3, время: 23:04.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.