Решил написать первую статью.
Пред история:
Была на предприятии одна веселая самописная программа, взвешивала на промышленных весах тоннаж выводила и хранила данные, промышленные весы.
Работала в связке на сервере windows 2003 стоял Firebird и база для весов. Все было бы нормально, но этот сервер работал примерно 9-10 лет и на гинекологическом кресле вообще не осматривался)))), выполнял только одну роль база для взвешивания весов и все. негоже жрать энергию от упсов и место занимать. Как то я решил перебросить базу весов на другой сервак. Выбор пал на FreeBSD 7.2-RELEASE(файловый сервер).
Установил Firebird 2.0, но можно и 2.1. но самое интересное началось потом. Когда установил и подсоединил клиента к базе вывод инфы был, а ввод данных в базу не заносил и валились на клиенте ошибки, не хватало на сервере с функции rFunc для firebird + freeBSD. Решил обратится в googlе, и нашел сайтик http://rfunc.sourceforge.net/rus/index.html
скачал архив rfunc 2.
Установка Firebird + rfunc
Firebird:
Код: Выделить всё
cd /usr/ports/databases/firebird21-server
# make
#chmod -R 770 /usr/ports/databases/firebird21-server
#exit
%cd /usr/ports/databases/firebird21-server
%make install clean
#password вводим пароль рута, с начало установится клиент потом сервер
Добавляем строку в /etc/inetd.conf:
gds_db stream tcp nowait firebird /usr/local/bin/fb_inet_server fb_inet_server
Прописываем строку в /etc/services:
gds_db 3050/tcp #Database remote control
echo firebird_enable=»YES» >> /etc/rc.conf
echo inetd_enable=»YES» >> /etc/rc.conf
установка Firebird завершина
Правка конфигов Firebird
aliases.conf
Код: Выделить всё
security = /var/db/firebird/security2.fdb
База.FDB = /var/db/firebird/База.FDB
Код: Выделить всё
RootDirectory = /var/db/firebird
DatabaseAccess = Full
UdfAccess = Restrict /var/db/firebird/UDF
скачал в домашнюю директорию rfunc-2.1.3.1-RC1-unix.tar.gz
Код: Выделить всё
1. Развернуть архив
tar -xvf rfunc-2.1.3.1-RC1-unix.tar.gz
2. Войти в каталог source.
3. Отредактировать make-файл makefile.freebsd: прописать путь к IB (ключ IBASE). я выложу уже готовый makefile.freebsd
4. Собрать библиотеку командой
make -f makefile.freebsd all
в папке source появится файл rfunc
после этого нужно этот файл скопировать в папку /var/db/firebird/UDF
Код: Выделить всё
chown -R firebird:firebird /var/db/firebird
chmod -R 770 /var/db/firebird