### скачать файрбёрд: ### https://firebirdsql.org/en/firebird-4-0-2/#Win64 распаковать архив TSSAdoSynchro.rar в папку C:\ACS\ создание базы: ### Запустить ISQL SQL>CREATE DATABASE 'c:\ACS\BASE\ateuco-proxi.fdb' page_size 8192 CON>user 'SYSDBA' password 'masterkey'; connect 'c:\ACS\BASE\ateuco-proxi.fdb' user 'SYSDBA' password 'masterkey'; отредактировать ConnectToMyAdo_SQL.udl, вставить содержимое ConnectToMyAdo.udl, дальше прописать имя базы вместо 7П ### запустить ConnectToMyAdo_SQL.udl по умолчанию, вписать логин и пароль от прокси базы нужно запустить как службу: ### запустить от имени администратора C:\ACS\TSSAdoSynchro>PSrvcAdoSynchro.exe /installservice адо через юдл ### запуск приложения как службы: командную строку запустить как админа ### nssm install PSrvcAdoSynchro.exe C:\ACS\TSSAdoSynchro\PSrvcAdoSynchro.exe /install ### имя сервиса: TSSUniAdoSynchro ### https://firebirdsql.org/en/odbc-driver/ ### скачать Firebird_ODBC_2.0.5.156_x64.exe ### в строке поиска ввести ODBC Data Sources и запустить приложение ### выбрать в списке Firebird ### заполнить путь к базе имя пользователя пароль, проверить и сохранить insert into synchropersonalchanges (LASTNAME,FIRSTNAME,MIDLENAME,DOLJNOST,TABELNOMER,fired) VALUES ('KROCODIL','GENA','ZELENII','KROCODIL V ZOOPARKE','999',0); select * from synchropersonalchanges; CREATE TABLE synchropersonalchanges ( LASTNAME VARCHAR(30), FIRSTNAME VARCHAR(30), MIDLENAME VARCHAR(30), PGRUPPA VARCHAR(60), FIRMA VARCHAR(60), DEPARTMENT VARCHAR(70), DOLJNOST VARCHAR(60), MARSRUT VARCHAR(250), DATE2 VARCHAR(10), TABELNOMER VARCHAR(20), fired SMALLINT, FOTO BLOB); select * from synchroevents; CREATE TABLE synchroevents ( TABELNOMER VARCHAR(20), ID_DOORS DOUBLE PRECISION, io SMALLINT, dt_creat TIMESTAMP, d_creat date, t_creat time); insert into synchropersonaltotal (LASTNAME,FIRSTNAME,MIDLENAME,DOLJNOST,TABELNOMER,fired) VALUES ('KROCODIL','GENA','ZELENII','KROCODIL V ZOOPARKE','999',0); select * from synchropersonaltotal; CREATE TABLE synchropersonaltotal( lastname varchar(30), firstname varchar(30), midlename varchar(30), pgruppa varchar(60), firma varchar(60), department varchar(70), zone_from varchar(20), ntimezone varchar(2), timezone varchar(20), marsrut varchar(250), tabelnomer varchar(20), fired SMALLINT, foto BLOB, doljnost varchar(60), date2 varchar(10), kluch2 varchar(50), kluch3 varchar(50), typekluch2 varchar(10), typekluch3 varchar(10)); //---------------------------------------------------------------------------------------------------------------------- Нужно обеспечить синхронизацию базы сотрудников СКУД и ДСУ, синхронизация обеспечивается путём чтения и записи данных в таблицы промежуточной базы данных firebird далее просто База. База должна быть доступна из сети ДСУ и совместима с pdo PHP. База имеет 3 таблицы, первая synctotal содержит список всех сотрудников обновляется раз в сутки, структура данных аналогична существующей synchropersonaltotal но содержит не все поля а только lastname,firstname,midlename,tabelnomer ,fired,doljnost + новое поле card которое содержит код карты допуска. Вторая таблица synchanges имеет такую же структуру как и synctotal но обновляется максимально оперативно, принцип работы аналогичен synchropersonalchanges в неё вносятся изменения в таблице сотрудников. Третья таблица syncfired служит для блокировки/разблокировки сотрудников, имеет колонки tabelnomer и fired, СКУД считывает и удалет из неё строки после прочтения. //----------------------------------------------------------------------------------------------------------------------