По умолчанию СУБД Firebird, Interbase и Yaffil используют для

advertisement
По умолчанию СУБД Firebird, Interbase и Yaffil используют для своей работы 3050й
порт на сервере. Соответственно, несколько разных СУБД через один и тот же порт
работать не могут. Для того, чтобы запустить Firebird и, скажем, Yaffil на одной машине,
одну из этих СУБД необходимо сконфигурировать на использование другого порта. В
Firebird это делается следующим образом:
1. Открыть папку, в которой установлен Firebird
2. Открыть файл firebird.conf
3. Найти в нём следующую строчку:
#RemoteServicePort = 3050
Этот параметр отвечает за то, какой порт используется Firebird’ом для работы.
Чтобы переназначить его на другой порт, данную строчку необходимо раскомментировать
(удалить решетку в начале) и указать какой-либо другой порт, например 3051. В
результате строчка должна выглядеть примерно вот так:
RemoteServicePort = 3051
Клиентские библиотеки при подключении к БД также по умолчанию
подразумевают использование порта 3050. Чтобы явно указать использование другого
порта при подключении, его необходимо вписать в строке подключения к БД. Например,
вместо пути
localhost:C:\work\БД\Бухгалтерия - ДФ\20090225\BUDGET.GDB
следует написать
localhost/3051:C:\work\БД\Бухгалтерия - ДФ\20090225\BUDGET.GDB
При подключении программы к СУБД используется клиентская библиотека, по
умолчанию это gds32.dll. Если на сервере используется несколько СУБД, то для
разных целей на клиентской машине должны присутствовать разные клиентские
библиотеки. В программе «Бухгалтерия» существует возможность указать, какую именно
клиентскую библиотеку ей следует использовать.
Чтобы указать программе работать с родной клиентской библиотекой, следует
произвести следующие действия:
1.
2.
3.
4.
5.
Найти клиентскую библиотеку Firebird той версии, которая установлена на
сервере. К примеру, можно взять её из папки с установленным Firebird, она
называется fbclient.dll.
Скопировать эту библиотеку на клиентскую машину.
Переименовать скопированный файл таким образом, чтобы его не перезаписали
случайно при обновлении библиотек, например в fbclient15.dll
Скопировать переименованный файл в папку windows/system32 клиентской
машины.
В папке с программой «Бухгалтерия» найти файл budjet.ini и в секцию [db]
добавить параметр VendorLib=<имя переименованной библиотеки>. В случае с
нашим примером строчка будет выглядеть как
VendorLib=fbclient15.dll
Исправить строку подключения к базе с использованием порта 3051
и внести исправления в budjiet.ini указанным способом нужно на
каждом компьютере.
Существует также одна особенность использования переименованной
клиентской библиотеки. При старте наших программ происходит
проверка различных свойств сервера и проверка эта реализована
через компоненты, которые используют только библиотеку
GDS32.dll. Поэтому в системном каталоге обязательно должна
находиться библиотека GDS32.DLL, но она может быть не
обязательно той версии, что и сам FIREBIRD. Таким образом,
возможны два варианта размещения клиентских библиотек в
системном каталоге WINDOWS\SYSTEM32.
1. Если на компьютере уже был установлен INTERBASE, YAFFIL или
FIREBIRD другой версии, то GDS32 уже должна находиться в
системном каталоге и нам остается только положить в этот же
системный каталог “нашу” клиентскую библиотеку, например,
fbclient15.dll.
2. Если на компьютере еще не было установлено ни INTERBASE, ни
YAFFIL, ни более ранней версии FIREBIRD, то установив
нужную нам версию FIREBIRD на этот компьютер мы должны
положить в системный каталог и библиотеку GDS32.DLL и
переименованную “нашу” библиотеку, например ,
fbclient15.dll. Если в стандартной инсталляции FIREBIRD не
будет библиотеки GDS32.DLL(а такое вполне может быть), то
можно просто еще один раз переименовать fbclient.dll в
GDS32.dll и положить эту переименованную библиотеку в
системный каталог. То, что у нас в системном каталоге
окажется две абсолютно одинаковые библиотеки с разными
именами – это ничего страшного. Если кто-то после установит
на этот же компьютер, например, YAFFIL и заменит в
системном каталоге GDS32.DLL на свою, то ничего страшного
опять же не произойдет. Главное, чтобы никто не удалял
GDS32.DLL из системного каталога.
Download