DV2r4 писал(а):Переменной FBLIB в реестре не имеется.
Вообщем, либо клиент у тебя стоит криво, либо в ОСи остался мусор. Давай сделаем так: я тебе напишу небольшой мануал, но ты добросовестно будешь следовать советам, не отступая ни на шаг. Идет?

1. Для начала, удаляем из системы штатным образом установленный Firebird, поиском вычищаем с дисков (особенно из папок C:\Windows\System32 и C:\Windows\SysWOW64\) все файлы, похожие на *firebird*, *fbclient* и *gds32*. По этим же тэгам шмонаем весь реестр. На этом можно будет считать, что потенциальных блох мы выловили.
2. Проверяем список программ, запускаемых вместе с виндой - там не должно быть процесса firebird,
запущенного как сервис.
3. Скачиваем FB 3.0.4 (в виде
zip-архива) с офф.сайта и распаковываем с сохранением всех относительных путей, например, в C:\Firebird_server\firebird_304 (имхо, все версии firebird лучше складывать в одну папку, чем "размазывать" по корню диска)
4. Открываем любым текстовым редактором firebird.conf, раскомментируем (убираем знак решетки #) и изменяем на произвольные величины следующие 3 параметра (они только должны отличаться от дефолтовых и от подобных параметров другого сервера Firebird, если он был ранее установлен):
например- RemoteServiceName = gds_db_3304
- RemoteServicePort = 3304
- IpcName = FIREBIRD_3304
5. Запускаем cmd-процессор и в командной строке пишем
- Код: Выделить всё
C:\Firebird_server\firebird_304\firebird.exe -a -p 3304
чтобы запустить процесс Firebird, который будет слушать порт 3304. Чтобы убедиться, что все получилось, смотрим трей
Примечание: чтобы не запускать вручную сервер при каждом перезапуске винды, достаточно добавить в ветку реестра
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run строковый параметр с любым понятным именем (например,
Firebird 3.0.4) и значением ключа
"C:\Firebird_server\firebird_304\firebird.exe" -a -p 3304. Выглядеть это должно примерно так (на скрине по понятным причинам показаны пути, которые прописаны у меня)

6. Теперь проверяем работу сервера (в окне cmd), подцепившись к какой-нибудь базе, например, из стандартной поставки FB:
запускаем isql и коннектимся через localhost (если вдруг сетевая петля localhost не определена в файле hosts, то можно вместо нее запросто написать 127.0.0.1) с обязательным указанием номера порта (потому что он у нас не стандартный)
- Код: Выделить всё
C:\Users\leyba>cd /d C:\Firebird_server\firebird_304\
C:\Firebird_server\firebird_304>isql
Use CONNECT or CREATE DATABASE to specify a database
SQL> connect '127.0.0.1/3304:C:\Firebird_server\firebird_304\
examples\empbuild\Employee.fdb' user sysdba password 'masterke';
Database: '127.0.0.1/3304:C:\Firebird_server\firebird_304\exa
mples\empbuild\Employee.fdb', User: SYSDBA
SQL> quit;
Аналогично можно запустить произвольное кол-во серверов, при этом у них должны быть уникальными имена инстансов и номера портов (указаны выше).
Собственно, все. Теперь можно пробовать коннектиться через компоненты доступа.