Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » psexec: рациональное(правильное) использование

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

iamur

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Доброго времени суток!
Пишу программу на Delphi, которая работает с базой данных. В программе предусмотрена возможность создания архива базы за определённый период. Принцип следующий: по нажатию клавиши в программе (на клиенте) файл базы на сервере (Firebird) копируется в папку архивов (тоже на сервере). Имя файла изменяется. После этого в исходной базе (с которой работает программа) удаляются почти все записи, за исключением тех, которые удовлетворяют определённым условиям.
 
Порыв интернет, для реализации этой процедуры решил использовать psexec. Но тут у меня получается два варианта:
Первый: программой создать bat-файл, кинуть его на сервер (есть папка-файлообменник), запустить с помощью psexec и после того как он отработал - удалить.
Второй: прямо из программы с помощью psexec запустить cmd сервера и давать команды уже туда.
 
Второй способ пока не получается у меня реализовать из Delphi - cmd запускаю, но как дальше передавать команды именно в ту cmd не знаю. Это первый вопрос. И второй - если второй способ можно реализовать, сохранит ли он последовательность действий (это важно) так как первый способ (с bat-файлом)?
Ну и третий - может я вообще штаны через голову одеваю и есть какие-то более простые и удобные способы?
Всем буду признателен за ответы.

Всего записей: 87 | Зарегистр. 02-08-2007 | Отправлено: 11:12 14-02-2014
YuriyRR



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Всё через жопу придумано. Лучше так не делать НИКОГДА. Трехзвенная архитектура тебе в помощь. Клиент посылает команды серверу приложения и тот на физическом сервере чтото делает с базой и прочую специфику.

Всего записей: 516 | Зарегистр. 07-06-2007 | Отправлено: 02:49 18-02-2014
A_V

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
cmd запускаю, но как дальше передавать команды именно в ту cmd не знаю

что значит передавать команды в cmd? все что нужно, передается через параметры командной строки.
 
но я бы так не делал. в случае двухзвенки стоит посмотреть в сторону возможностей сервера по проведению бэкапа из SQL или по вызову стороннего кода. не работал с firebird, но, если таких возможностей нет на уровне процедурного языка, то обычно это решается написанием внешней процедуры на любом компилируемом языке, которая подключается как dll, и к которой можно обращаться из SQL кода (гугли по firebird udf). либо генерацией события, на которое может подписаться стороннее приложение, запущенное как сервис на сервере (гугли по firebird events) .  
 
тогда твоему клиенту достаточно просто вызвать хранимку с нужными параметрами.
 
а зашивать код с psExec'ом в клиент - очень фигово в плане безопасности.

Всего записей: 770 | Зарегистр. 07-04-2002 | Отправлено: 15:35 18-02-2014
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » psexec: рациональное(правильное) использование


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru