From fa02bc63b2d4e3a4ce933b2d1a6e58d2d245b38c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BD=D1=82=D0=BE=D0=BD=20=D0=A1=D1=82=D0=B5=D0=BF?= =?UTF-8?q?=D0=B0=D0=BD=D0=BE=D0=B2?= Date: Wed, 1 Feb 2017 16:57:17 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=BF=D0=BE=D0=BB=D0=BD=D0=B8?= =?UTF-8?q?=D0=BB=20=D0=BE=D0=BF=D0=B8=D1=81=D0=B0=D0=BD=D0=B8=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 16 +++++++++++++++- src/ExecQuery_SQLCMD.os | 32 ++------------------------------ 2 files changed, 17 insertions(+), 31 deletions(-) diff --git a/README.md b/README.md index d307996..04bc479 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ -# CopyBase.os [В разработке] +# CopyBase.os Нужна для копирования одной базы в другую с переподключением к хранилищу. Например, когда для поиска ошибки нужно оперативно развернуть себе в базу разработки актуальную копию рабочей базы. @@ -14,6 +14,20 @@ 3. Отключает от хранилища базы приемника 4. Подключает к указанному хранилищу базу приемника +# ExecQuery_SQLCMD.os + +Обертка над sqlcmd. Позволяет выполнить бекап базы в файл и выполнить произвольный скрипт. Примеры в CopyBase.os. +Методы: + +```bsl +ВыполнитьБекап( Знач пСервер, Знач пПользователь, Знач пПароль, Знач пИмяБазы = "", Знач пИмяФайлаБекапа ) +ВыполнитьСкрипт( Знач пСервер, Знач пПользователь, Знач пПароль, Знач пИмяБазы = "", Знач пИмяФайлаСкрипта ) +``` + +# Замеры.os + +Маленький модуль для вывода сообщений с таймингом. + # Обработка "Изменение настроек" Позволяет настроить конфигурационный файл для скрипта CopyBase.os. Работает только в управляемом режиме. diff --git a/src/ExecQuery_SQLCMD.os b/src/ExecQuery_SQLCMD.os index 2d07190..8933909 100644 --- a/src/ExecQuery_SQLCMD.os +++ b/src/ExecQuery_SQLCMD.os @@ -13,7 +13,7 @@ Возврат "oscript.app.ExecQuery_SQLCMD"; КонецФункции -Функция ВыполнитьБекап( Знач пСервер, Знач пПользователь, Знач пПароль, Знач пИмяБазы, Знач пИмяФайлаБекапа ) Экспорт +Функция ВыполнитьБекап( Знач пСервер, Знач пПользователь, Знач пПароль = "", Знач пИмяБазы, Знач пИмяФайлаБекапа ) Экспорт Если Не ЗначениеЗаполнено( пСервер ) Тогда @@ -49,7 +49,7 @@ КонецФункции -Функция ВыполнитьСкрипт( Знач пСервер, Знач пПользователь, Знач пПароль, Знач пИмяБазы, Знач пИмяФайлаСкрипта ) Экспорт +Функция ВыполнитьСкрипт( Знач пСервер, Знач пПользователь, Знач пПароль = "", Знач пИмяБазы, Знач пИмяФайлаСкрипта ) Экспорт Если Не ЗначениеЗаполнено( пСервер ) Тогда @@ -99,34 +99,6 @@ возврат данные; КонецФункции -Функция ПолучитьПараметрыИзКоманднойСтроки( Знач пАргументы ) - - Парсер = Новый ПарсерАргументовКоманднойСтроки(); - - Парсер.ДобавитьПараметр("Команда"); - - Парсер.ДобавитьПараметр("Сервер"); - Парсер.ДобавитьПараметр("Пользователь"); - Парсер.ДобавитьПараметр("Пароль"); - Парсер.ДобавитьПараметр("ИмяБазы"); - Парсер.ДобавитьПараметр("ПутьКФайлу"); - - Параметры = Парсер.Разобрать(пАргументы); - - Если Не Параметры.Количество() = 6 Тогда - - Сообщить("Должно быть команда и 5 параметров."); - Сообщить( " backup Сервер Пользователь Пароль ИмяБазы ПутьКФайлуБекапа"); - Сообщить( " execQuery Сервер Пользователь Пароль ИмяБазы ПутьКФайлуСкрипта"); - - ЗавершитьРаботу(1); - - КонецЕсли; - - Возврат Параметры; - -КонецФункции - Функция ПолучитьПараметрСТекстомЗапроса( Знач пПараметры ) Если ВРег( пПараметры["Команда"]) = ВРег("backup") Тогда