Форум OlegON > Программы и оборудование для автоматизации торговли > Системы автоматизации торговли > Супермаг Плюс (Супермаг 2000)

Автоматизация инициализации базы данных : Супермаг Плюс (Супермаг 2000)

29.03.2024 8:02


14.10.2016 09:06
gf777
 
Спасибо за советы. Я ещё немного поковыряю, по результату отпишусь.
Метод с nid мне не нравиться тем, что в темплайте базы все пути захаркодены в контрольнике, всё равно надо потом переконфигурировать, если я хочу поменять пути БД.
Лучше это делать на этапе провижининга оракла. Я щас говорю про процесс автоматизации, а не тиражирования однотипных бд.

DbInit.exe кстати пишет конфиг supermag.init в корень C:\Windows. Там можно прописать название базы, но не более как я понял.
14.10.2016 09:26
gf777
 
Так в центральной базе в модуле администратора же генеририется только батни с параметрами базы, но не сами скрипты создания таблиц, и т.д.
14.10.2016 09:34
OlegON
 
supermag.ini пишет, бессмысленная для этих целей штука, просто запоминание настроек по умолчанию, как везде галки генератора распиханы.
Если это шаблон (известны пути и файлы), то и скрипт переименования файлов - как два пальца (я, например, просто шаблон бы не привязывал к имени базы). Мне не нравится идея прогона скриптов в unattended, поскольку эти все способы упираются в необходимость вдумчивого чтения логов. В противном случае потом через полгода мозг вынешь себе, что какой-то скрипт на этапе генерации базы не отработал. Поэтому лучше группировать мелкие операции в кучу. Если файл базы не докопируется, ты сразу заметишь.
14.10.2016 09:43
OlegON
 
Цитата:
gf777 Так в центральной базе в модуле администратора же генеририется только батни с параметрами базы, но не сами скрипты создания таблиц, и т.д.
Да, там параметры БД, которые и заподозрил, что генерируются на ходу, а чего именно тебе не хватает? Я вот только не знаю, где юзер supermag создается, схема-то потом генерится, вроде... И все скрипты есть. Ты нашел, куда ResForInit все скрипты кладет?
14.10.2016 09:58
gf777
 
ResForinit кладёт по дефолту в $TMP. Так же есть параметр в реестре
[HKEY_CURRENT_USER\Software\Service Plus\SuperMag2000\DataBase]
"ResForInit"="C:\\Temp\\DbInit_1033_2"
"ResForInitUpgrade"="1"

там же лежит SchemaSys.sql, где и создаётся юзер supermag. А так же Sys.sql.

Но нет скрипта DbInit_InstanceInit.sql. Вот он меня и заинтересовал)
14.10.2016 10:05
OlegON
 
Скорее всего, он где-то на диске появляется... Я, когда еще не было ResForInit, просто перед инициализацией запускал батник, который мне нужные скрипты в цикле копировал в отдельную директорию :) Когда скрипт появлялся, он моментально и копировался, попробуй :)
14.10.2016 10:16
gf777
 
Да, он и создаётся в той же директории, затем как только исполняется sqlplus'ом удаляется. Не получилось его скопировать)
14.10.2016 10:31
OlegON
 
я и говорю батник поставь в цикле с
copy C:\..\DbInit_InstanceInit.sql C:\fortest\
пусть ловит этот файлик... Заодно и сюда его кинь потом :)
14.10.2016 13:02
gf777
 
Спасибо за идею со скриптом) Вытащил всё, что надо. Щас причешу-выложу.
17.10.2016 09:27
gf777
 
Куда лучше выложить?
Часовой пояс GMT +3, время: 08:02.

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