В текущей конфигурации Абонемент, существует возможность выполнять любые запросы к БД через связку двух файлов .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\