В текущей конфигурации Абонемент, существует возможность выполнять любые запросы к БД через связку двух файлов .bat и .sql.
Данное решение позволяет решить много небольших задач, по автоматизации некоторых действий в Абонемент. (Например автоматический перевод смены)
Для этого, вам понадобится правильно настроенный .bat файл, например следующего вида:
set mytime=%time% set mydate=%date:~-10% rem set mydate=%mydate:~6,4%%mydate:~3,2%%mydate:~0,2% set mydt=%mydate% %mytime% set isql="C:\Program Files\Firebird\Firebird_2_5\bin\isql.exe" set inputfile=random_query.sql set outputfile=result_random.txt echo %mydt% >> %outputfile% %isql% -input %inputfile% -output %outputfile%
Где:
set isql="C:\Program Files\Firebird\Firebird_2_5\bin\isql.exe" - путь к рабочему экземляру утилиты isql из поставки FireBird;
set inputfile=random_query.sql - путь к файлу с подготовленным для выполнения запросом;
set outputfile=result_random.txt - путь к файлу результатов выполнения запросов.
Файл запроса random_query.sql должен иметь следующий вид:
CONNECT '127.0.0.1/3080:C:\_UCS\FITNESS\IBDATA\FITNESS.FDB' USER 'ucs' PASSWORD 'ucs';
select count(id) from guests where regdate between (floor(d2dbl('now')-1)) and (floor(d2dbl('now')));
commit work;Где:
'127.0.0.1/3080:C:\_UCS\FITNESS\IBDATA\FITNESS.FDB' - адрес БД, на которой необходимо выполнить запрос, далее текст выполняемого запроса.
Файлы описанные в данном примере позволяюют получить в текстовом файле датированные данные о количестве гостей зарегистрированных в БД за предыдущий день. Запуск .bat файла можно производить как вручную, так и любым доступным планировщиком.
Пример файла результата (result_random.txt):
30.07.2018 0:15:34,16
COUNT
============
10 Другие доступные примеры можно найти в поставке Абонемент по пути FullVersion\_UTILS\_BAT\