Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Горячая тема (более 10 ответов) скрипт MD to DB (число прочтений - 5290 )
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3050
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
скрипт MD to DB
02. Февраля 2011 :: 08:56
Печать  
У кого-нибудь есть скрипт для опенконфа для сохранения 1Cv7.MD в базу данных ms sql.
Хочется скидывать конфигурацию, при ее изменении и сохранении, в базу данных. Чтобы потом бекапы БД были целостные.
  

1&&2&&3
Наверх
 
IP записан
 
pvase
God Member
*****
Отсутствует



Сообщений: 923
Местоположение: Киев
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: скрипт MD to DB
Ответ #1 - 04. Октября 2011 :: 14:42
Печать  
Я делаю так:
Создаю задачу для SQL сервера с таким кодом:
Код
Выбрать все
Declare @path VarChar(1000) -- путь бекапа SQL
Declare @path2 VarChar(1000) -- путь архива rar
DECLARE @CMDStr VarChar(1000) -- строка команды для архивирования

SET @path = 19),GETDATE(),108),':','_')
SET @path2 = @path+'.rar'
SELECT @path = @path + '.bak'

BACKUP DATABASE [V77] TO  DISK = @path WITH NOFORMAT, INIT,  NAME = N'V77-Full Database Backup', SKIP, NOREWIND, NOUNLOAD,  STATS = 10

SET @CMDStr = 'rar a -y -dh -ep -rr[5] '+@path2+' '+@path+' E:\1Cv77\Bases\BD2010\1Cv7.MD E:\1Cv77\Bases\BD2010\1Cv7.DDS'
EXEC xp_cmdshell @CMDStr
-- удалим SQL бекап, оставим только rar.
SET @CMDStr = 'del '+@path
EXEC xp_cmdshell @CMDStr
GO
 

  
Наверх
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3050
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: скрипт MD to DB
Ответ #2 - 04. Октября 2011 :: 16:08
Печать  
не, ну архивировать то я тоже умею
интересно именно в БД положить
  

1&&2&&3
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: скрипт MD to DB
Ответ #3 - 05. Октября 2011 :: 13:37
Печать  
Тогда уж нужен и скрипт DB to MD Улыбка
Но, вообще-то, у меня все равно их использовать не получится - к архиву БД мне нужна соответствующая полная копия каталога БД, одного MD недостаточно.
  

De quelle planète es-tu?
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3050
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: скрипт MD to DB
Ответ #4 - 05. Октября 2011 :: 16:04
Печать  
kms писал(а) 05. Октября 2011 :: 13:37:
Тогда уж нужен и скрипт DB to MD Улыбка
ну нам бы только ходы записать, а если не приведи Господь, понадобится МД из бэкапа вынимать, вынимем руками.
Цитата:
Но, вообще-то, у меня все равно их использовать не получится - к архиву БД мне нужна соответствующая полная копия каталога БД, одного MD недостаточно.
ну как бы у меня тоже в каталоге ИБ половина функционала и его тоже можно заливать в БД.
Но это не так критично, как сохранение структуры данных, которая все таки в МД, согласованно с самими данными.
  

1&&2&&3
Наверх
 
IP записан
 
varelchik
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 788
Зарегистрирован: 22. Мая 2006
Re: скрипт MD to DB
Ответ #5 - 06. Октября 2011 :: 05:11
Печать  
А что тебе мешает использовать BinaryData?
у него ж можно работать с бинарниками.
Создавай себе Хранилице в базе.
Ну и дальне по списку...
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3050
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: скрипт MD to DB
Ответ #6 - 06. Октября 2011 :: 06:17
Печать  
varelchik писал(а) 06. Октября 2011 :: 05:11:
А что тебе мешает использовать BinaryData?
в конфигураторе?
  

1&&2&&3
Наверх
 
IP записан
 
Satans Claws
God Member
*****
Отсутствует


1C++ rocks!

Сообщений: 721
Зарегистрирован: 29. Ноября 2010
Re: скрипт MD to DB
Ответ #7 - 06. Октября 2011 :: 06:28
Печать  
А такой вариант:

У меня после обновления конфы нужно обязательно зайти первый раз монопольно (в константе хранится время из атрибутов файла МДшника; если оно изменилось - не-монопольно войти не даст).
Дальше, при этом монопольном входе ничего не стоит взять МДшник и сунуть его в скуль (например, при помощи компоненты Rik_SQL).

Ну а дальше - уже по желанию.
Я бы сделал доп. таблицу прямо в базе 1Ски, с 2 полями:
Дата МДшника, бинарник МДшника.
Хотя, наверное, можно и без истории
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3050
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: скрипт MD to DB
Ответ #8 - 06. Октября 2011 :: 06:34
Печать  
Спасибо, идея понятна.
  

1&&2&&3
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: скрипт MD to DB
Ответ #9 - 06. Октября 2011 :: 06:40
Печать  
trad писал(а) 06. Октября 2011 :: 06:17:
varelchik писал(а) 06. Октября 2011 :: 05:11:
А что тебе мешает использовать BinaryData?
в конфигураторе?

так создай отдельную бд 1с которая будет делать копии других баз данных 1си в ней простейшую конфигурацию.
  
Наверх
 
IP записан
 
Satans Claws
God Member
*****
Отсутствует


1C++ rocks!

Сообщений: 721
Зарегистрирован: 29. Ноября 2010
Re: скрипт MD to DB
Ответ #10 - 06. Октября 2011 :: 06:44
Печать  
Просто, если нужна история разработки - проще поднять ЦВС/СВН и иметь конфу в нем.

Собственно, хоть я и единственный разработчик в базе - у меня поднят СВН и работа организована следующим образом:

Есть тестовая база, в которой ведется вся разработка.
Она декомпилится. Абсолют базы заливается в репозитарий.

Есть пустая база (вообще ДБФная, она только конфигуратором запускается). В нее компилируется конфа из репозитария, загружается измененная конфигурация. Если никаких эксцессов на этапе загрузки не произошло (мало ли - спьяни рука дрогнула и залил в репозитарий удаление реквизита Контрагент в расходной накладной) - МДшник этой базы ночером будет использован для обновления.

Пустая база иногда используется для настройки прав (в некоторых случаях это удобнее) - тогда она сразу декомпилится и коммитится в репозитарий.
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3050
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: скрипт MD to DB
Ответ #11 - 06. Октября 2011 :: 07:43
Печать  
Satans Claws писал(а) 06. Октября 2011 :: 06:44:
Просто, если нужна история разработки - проще поднять ЦВС/СВН и иметь конфу в нем.

нет история разработки не нужна.
Нужна копия МД согласованная с копий данных.
Т.е. если прошла реструктуризация БД, то в ней (в БД) сразу должен появится МД соответствующий реструктурированным данным. Чтобы при следующей операции резервного копирования в копии оказались согласованные данные и метаданные.
  

1&&2&&3
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: скрипт MD to DB
Ответ #12 - 06. Октября 2011 :: 10:33
Печать  
дык ты в джоб кинь задание на архивирование мд и остального в раб. каталоге и привет.. смысл хранить это в скуле ?
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать