powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Firebird 3.0. Как заставить его работать с клиентами 2.x и 3.x: памятка + вопрос(ы)
2 сообщений из 2, страница 1 из 1
Firebird 3.0. Как заставить его работать с клиентами 2.x и 3.x: памятка + вопрос(ы)
    #38509016
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Intro. Замышлялось это сообщение как памятка. Но в итоге всё равно вышел облом, так что там, ниже, ещё и ВОПРОС будет :-)

Пора это задокументировать на языке Пушкина, Тургенева и Булгакова, ибо изабэлло бесконца вчитываться в пояснения firebird.conf'a и рыться в личке с поиском сообщений от Алекса.
Возможно, кому-то еще пригодится: будет где-то зоопарк из машин с разными клиентами (2.х и 3.х), тогда и вспомните про этот топег

Приведенный ниже текст относится только к случаю "тестовых игрищ", когда в старую security3.fdb еще не занесены десятки юзеров.

Итак, после скачивания снапшота ФБ, его распаковки и копирования всех файлов в выбранную папку %FIREBIRD_3_HOME%:
1. остановить и удалить старую службу ФБ-3, если она была поставлена до этого: uninstall.bat <fb3_service_name>;
2. скопировать куда-нить firebird.conf, если он содержит изменённые параметры; заменить %FIREBIRD_3_HOME%\firebird.conf на дефолтный (из снапшота)
3. находясь в %FIREBIRD_3_HOME%, прописать SYSDBA:
Код: plaintext
gsec -database security3.fdb -add sysdba -pw masterke

4. прописать остальных пользователей, которые будут коннектиться клиентом 3 .х:
gsec -add ... -pw ...
Код: plaintext
1.
2.
gsec -database security3.fdb -add u30a -pw u30a -fname ozzy -lname osbourne
gsec -database security3.fdb -add u30b -pw u30b -fname ian -lname gillan
gsec -database security3.fdb -add u30c -pw u30c -fname robert -lname plant
5. убедиться, что эти пользователи действительно записались:
gsec -display
Код: plaintext
1.
2.
3.
4.
5.
6.
gsec -display -user sysdba -pas masterke
     user name                    uid   gid admin     full name
---------------------------------------------------------------------
U30A                                0     0           ozzy  osbourne
U30B                                0     0           ian  gillan
U30C                                0     0           robert  plant
SYSDBA                              0     0
6. чтобы прописать database-юзеров, которые будут коннектиться к ФБ-3 клиентами прежних версий (я проверял на 2.5):
6.1 отредактировать в firebird.conf следующие параметры:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
  # наш FB-инстанс должен допускать коннекты от старых клиентов 
  # ==> разрешаем параметру AuthServer использовать плагин Legacy_Auth
   AuthServer = Legacy_Auth,Srp  
  
  # параметр UserManager  временно  устанавливаем в значение Legacy_UserManager, 
  # чтобы можно было завести юзеров, которые будут коннектиться клиентами 2.x:
   UserManager = Legacy_UserManager  
  
  # Шифрование траффика: ставим любое значение, отличное от Required: enabled или disabled
   WireCrypt = enabled  

  # параметр AuthClient менять не нужно, если с этого инстанса не планируется делать Client-запросов к инсансам, 
  # где установлены ФБ старых версий (через execute statement on external datasource):
  # AuthClient = Srp

6.2 прописать пользователей, которые будут коннектиться клиентами 2 .х:
gsec -add ... -pw ...
Код: plaintext
1.
2.
gsec -add u25a -pw u25a
gsec -add u25b -pw u25b
gsec -add u25c -pw u25c
6.3 проверим, что они занесены:
gsec -display
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
gsec -display

     user name                    uid   gid admin     full name
------------------------------------------------------------------------------------------
SYSDBA                              0     0           Sql        Server     Administrator
U25B                                0     0
U25C                                0     0
U25A                                0     0
Видим, что юзеров-"трёшников", которые заносились ранее, при закомментаренном параметре UserManager, в этом списке нет.
Если же сейчас снова закомментарить параметр UserManager, то список будет содержать уже только тех, первых, юзеров:
gsec -display
Код: plaintext
1.
2.
3.
4.
5.
     user name                    uid   gid admin     full name
--------------------------------------------------------------------
U30A                                0     0           ozzy  osbourne
U30B                                0     0           ian  gillan
U30C                                0     0           robert  plant
SYSDBA                              0     0
Что касается SYSDBA, то он выводится при любом раскладе UserManager'a.
Насколько могу понять, команда gsec всегда "смотрит" в firebird.conf (независимо от того, запущен сам ФБ или нет).

7. запустить ФБ-3 (удобнее сначала как приложение: %FIREBIRD_3_HOME%\firebird -a -m)
8. проверить клиентом 2.x, что возможен коннект к ФБ-3:
isql fb3host/fb3port:employee -user u25x ...
Код: plaintext
1.
2.
3.
4.
5.
6.
>isql 192.168.62.14/3330:employee -user u25a -pas u25a -z
ISQL Version:  WI-V2.5.3.26722  Firebird 2.5
Server version:
 WI-T3.0.0.30802  Firebird 3.0 Alpha 1
WI-T3.0.0.30802 Firebird 3.0 Alpha 1/tcp (tlprg)/P12
WI-V2.5.3.26722 Firebird 2.5/tcp (csprog)/P12
Database:  192.168.62.14/3330:employee, User: u25a
9. проверить клиентом 3.x той же машины, где установлен ФБ-3, что возможен коннект:
isql fb3host/fb3port:employee -user u30x ...
Код: plaintext
1.
2.
3.
4.
5.
6.
>isql 192.168.62.14/3330:employee -user u30a -pas u30a -z
ISQL Version:  WI-T3.0.0.30802  Firebird 3.0 Alpha 1
Server version:
 WI-T3.0.0.30802  Firebird 3.0 Alpha 1
WI-T3.0.0.30802 Firebird 3.0 Alpha 1/tcp (tlprg)/P13
WI-T3.0.0.30802 Firebird 3.0 Alpha 1/tcp (tlprg)/P13
Database:  192.168.62.14/3330:employee, User: u30a

А ТЕПЕРЬ - ВОПРОС. И ОБЛОМ ТОЖЕ:
10. проверить клиентом 3.х с какой-нибудь другой машины, что возможен коннект:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
C:\1Install\fb30>ipconfig /all|findstr /i /c:ip-
   IP-адрес  . . . . . . . . . . . . : 192.168. 0.201 

C:\1Install\fb30>C:\1Install\fb30\isql 192.168. 62.14 /3330:employee -user u30a -pas u30a -z
ISQL Version: WI-T3.0.0. 30663  Firebird 3.0 Alpha 1
Statement failed, SQLSTATE = 28000
Your user name and password are not defined. Ask your database administrator to set up a Firebi
rd login.
Use CONNECT or CREATE DATABASE to specify a database

"Ну, вот мы и в Хопре".
Что не так в последнем пункте ? Почему клиент-3 (пусть и не самый свежак, 22-sep-2013) не может приаттачиться к серверу-3 ?
...
Рейтинг: 0 / 0
Firebird 3.0. Как заставить его работать с клиентами 2.x и 3.x: памятка + вопрос(ы)
    #38509060
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таблоид
Код: plaintext
1.
2.
isql 192.168. 62.14 /3330:employee -user u30a -pas u30a -z
ISQL Version: WI-T3.0.0. 30663  Firebird 3.0 Alpha 1
Statement failed, SQLSTATE = 28000
<. . .>
Что не так в последнем пункте ? Почему клиент-3 (пусть и не самый свежак, 22-sep-2013) не может приаттачиться к серверу-3 ?Нарыл еще одну машину, где ФБ-3 от 07-дек-2013: с неё коннект к сборке 30802 идёт "на ура".

Код: plaintext
1.
2.
3.
4.
5.
6.
isql 192.168.62.14/3330:employee -user u30a -pas u30a -z
ISQL Version: WI-T3.0.0. 30785  Firebird 3.0 Alpha 1
Server version:
WI-T3.0.0.30802 Firebird 3.0 Alpha 1
WI-T3.0.0.30802 Firebird 3.0 Alpha 1/tcp (tlprg)/P13
WI-T3.0.0.30785 Firebird 3.0 Alpha 1/tcp (IT_test)/P13
Database:  192.168.62.14/3330:employee, User: u30a

Видимо, какая-то грабля в том клиенте, что от сент-2013 (WI-T3.0.0.30663).
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Firebird 3.0. Как заставить его работать с клиентами 2.x и 3.x: памятка + вопрос(ы)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]