powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Клиент Firebird 3 и firebird.conf: где он его ищет?
23 сообщений из 23, страница 1 из 1
Клиент Firebird 3 и firebird.conf: где он его ищет?
    #38774859
Фотография o_v_a
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
... а ищет он его похоже строго под собой.

Речь про Windows. 32 бита, Win7.

Решил в очередной раз потестить нового клиента в своей многосерверной среде. Есть и тестовые Firebird 3, и боевые 2.5.3, и даже кое-где Firebird 1.5 в бою работает.
Не мне следить за актуальностью серверов, клиентов много, кого устраивает "полуторка" - работает на ней и нас-разработчиков (пока работает и не требует специфического функционала) - не спрашивает. А мы совместимость своего ПО поддерживаем, от версии сервера наше ПО не зависит и подстраивается сама.

Скачал снапшот Firebird-3.0.0.31364-0_Win32.zip, развернул в каталог.
Запустил последовательно
instreg i
instclient i g
instclient i f
Убедился, что gds32.dll в Windows/System32 от "тройки".
Настроил firebird.conf для коннекта к серверам FB 2.5 и для возможности коннекта старыми клиентами к "тройке",
AuthServer = Srp, Legacy_Auth
AuthClient = Srp, Legacy_Auth
WireCrypt = Enabled
проверил это всё на isql коннектом к серверу 2.5. Коннект есть.

Запускаю своё приложение, которое настроено на gds32.dll безо всяких путей и... проблема коннекта к старому Firebird - You user name and password etc...

Что за ерунда?! Только что же isql натравливал и всё нормально было!
Но натравливал-то я isql на старый сервер из каталога установки Firebird3 через fbclient.dll. А моё приложение берёт gds32.dll из системного каталога. Проверяем гипотезу.

Запускаю ProcessMonitor и смотрю, что и откуда цепляется.
И вижу, что поиск firebird.conf выполняется в каталоге windows/system32. Закономерно обламывается, и выходит, что gds32.dll инициализируются дефолтными параметрами, с которыми к серверам FB 2.5 новым "троечным" клиентом я никак не присоединюсь!

Это поведение ещё будет меняться? Или надо уже записать в скрижалях, что нужный мне firebird.conf надо будет выкладывать всегда рядом с клиентской библиотекой, и недостаточно держать его только в каталоге установки Firebird 3 ?
Клиент-то в реестр за ключиком не лазит, выходит, и instreg нужен только серверу?


--
"И это пройдет"
...
Рейтинг: 0 / 0
Клиент Firebird 3 и firebird.conf: где он его ищет?
    #38774885
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
o_v_a,

а почему нужный клиент не лежит в каталоге приложения и firebird.conf иже с ним
...
Рейтинг: 0 / 0
Клиент Firebird 3 и firebird.conf: где он его ищет?
    #38774896
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
o_v_aЭто поведение ещё будет меняться?
Лично я надеюсь, что нет.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Клиент Firebird 3 и firebird.conf: где он его ищет?
    #38774907
Фотография o_v_a
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Денис, а не лежит рядом с приложением, потому что раньше всех всегда устраивали галки инсталлятора
"сгенерировать GDS32.dll для совместимости с существующими приложениями" и "скопировать клиентскую библиотеку в системный каталог".
Воспроизводил эти же действия. Но если в firebird 2.5 и ранее до параметров клиента в firebird.sql нам было абсолютно параллельно, то теперь, похоже, что нет.
Будем подкладывать рядом с приложением теперь.
...
Рейтинг: 0 / 0
Клиент Firebird 3 и firebird.conf: где он его ищет?
    #38774917
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
o_v_a,

дык это всё работало только если устанавливать приложение там же где и сервер. Во всех остальных случаев нужна была ручная доработка напильником.

o_v_aИ вижу, что поиск firebird.conf выполняется в каталоге windows/system32.

firebird.conf слишком круто. Вроде можно databases.conf только копировать. Хотя возможно я ошибаюсь.

P.S.

instclient i f

до сих пор не копирует firebird.msg куда надо. А в тройке ещё и файл конфигурации нужен
...
Рейтинг: 0 / 0
Клиент Firebird 3 и firebird.conf: где он его ищет?
    #38776371
Фотография o_v_a
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати, да. Надо будет попробовать через databases.conf, но я не помню сейчас на вскидку, с какого места firebird.conf параметры идут, которые в нём можно переопределять. Если AuthClient и WireCrypt к ним относятся, то должно прокатить.
...
Рейтинг: 0 / 0
Клиент Firebird 3 и firebird.conf: где он его ищет?
    #38776493
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
o_v_a,

дык там перед каждым параметром коммент написан на каком уровне он действует

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
#
# Per-connection and per-database configurable.
#
#AuthClient = Srp, Win_Sspi, Legacy_Auth

....

#
# Per-connection configurable.
#
# Type: integer
#
#WireCrypt = Enabled (for client) / Required (for server)
...
Рейтинг: 0 / 0
Клиент Firebird 3 и firebird.conf: где он его ищет?
    #38776558
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
o_v_aНадо будет попробовать через databases.conf
Попробуй. Если не получится - загляни под спойлер.

клиент ищет в списке алиасов полную строку соединения.
...
Рейтинг: 0 / 0
Клиент Firebird 3 и firebird.conf: где он его ищет?
    #38776917
Фотография o_v_a
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да ну нафиг. Неудобно через databases.conf.
Неизвестно когда и к какой базе мне надо из двух с лишним сотен раскиданных по стране подключиться, у клиентов тоже может быть разброс от одного до двух десятков баз (системы многосерверные, распределённые по области или даже по нескольким бывает).
Проще всё же в system32 закинуть правильный firebird.conf.
...
Рейтинг: 0 / 0
Клиент Firebird 3 и firebird.conf: где он его ищет?
    #38776964
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
o_v_aПроще всё же в system32 закинутьНикогда и ничего не закидывайте в system32. Нельзя.
...
Рейтинг: 0 / 0
Клиент Firebird 3 и firebird.conf: где он его ищет?
    #38776991
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladНикогда и ничего не закидывайте в system32. Нельзя.
Да, да! Каждому приложению - индивидуальный клиент и конфиг. И глобальный Search&Replace в
руки если понадобится что-то в них всех изменить.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Клиент Firebird 3 и firebird.conf: где он его ищет?
    #38777013
Фотография o_v_a
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нифига себе квест!
IBExpert, IBAnalyst, планировкщики бэкапов в немыслимых местах, куча своих собственных прикладных программ, раскиданных по каталогам (рабочие, тестовые версии и релизы).
А может все же клиента натравить на ключик реестра и научить его вычитывать firebird.conf в правильном месте?!
...
Рейтинг: 0 / 0
Клиент Firebird 3 и firebird.conf: где он его ищет?
    #38777062
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovИ глобальный Search&Replace в
руки если понадобится что-то в них всех изменить.Заставь дурака богу молиться - он и лоб расшибёт. (ц)
Это про тебя, Дима...
...
Рейтинг: 0 / 0
Клиент Firebird 3 и firebird.conf: где он его ищет?
    #38777090
Фотография o_v_a
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad, Димин сарказм зачтён, конечно :)
А что с переменной окружения FIREBIRD? Клиент на неё реагирует?
...
Рейтинг: 0 / 0
Клиент Firebird 3 и firebird.conf: где он его ищет?
    #38777097
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
o_v_aИли надо уже записать в скрижалях, что нужный мне firebird.conf надо будет выкладывать всегда рядом с клиентской библиотекой, и недостаточно держать его только в каталоге установки Firebird 3 ?Ты нужного тебе клиента (gds32) в прописанный в реестре каталог (instreg) - положил ?
А программа твоя ищет клиента в прописанном в реестре каталоге ?

Кто-нибудь вообще читает хоть какую-то документацию ? А следует ей ?
http://www.firebirdsql.org/file/documentation/release_notes/html/rlsnotes15.html#install-win-readnext
http://www.firebirdsql.org/file/documentation/release_notes/html/install210.html#install2-win-otherpre
...
Рейтинг: 0 / 0
Клиент Firebird 3 и firebird.conf: где он его ищет?
    #38777100
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
o_v_aА что с переменной окружения FIREBIRD?Надеюсь, с ней всё в порядке. Желаю ей всяческих успехов в жизни.

o_v_aКлиент на неё реагирует?Есс-но. И об этом писалось не раз, и не два
...
Рейтинг: 0 / 0
Клиент Firebird 3 и firebird.conf: где он его ищет?
    #38777103
Фотография o_v_a
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Реагирует. Уже полдела.
В принципе, что переменную окружения добавить, что firebird.conf скопировать в system32...
Осталось только следить за актуальностью значения и не забывать менять, если поднимаешь тестовые старые серверы.
...
Рейтинг: 0 / 0
Клиент Firebird 3 и firebird.conf: где он его ищет?
    #38777106
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
o_v_aВ принципе, что переменную окружения добавитьЭто можно сделать как глобально (и рисковать поломать чужие программы), так и локально (только для своего процесса).

o_v_aчто firebird.conf скопировать в system32...А это уже глобальное действие. Со всеми утекающими последствиями.
Причём прямо запрещённое всеми руководстввами от MS.
...
Рейтинг: 0 / 0
Клиент Firebird 3 и firebird.conf: где он его ищет?
    #38777147
Фотография o_v_a
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladТы нужного тебе клиента (gds32) в прописанный в реестре каталог (instreg) - положил ?
А программа твоя ищет клиента в прописанном в реестре каталоге ?

Никто никуда ничего не кладёт и не клал специально. Отродясь полагались на инсталлятор, который клал gds32.dll в system-каталог.
Программы наши клиента сами не ищут. Клиент прописан в компонентах доступа как gds32.dll. Без путей.
И всегда находится у клиентов в единственном числе в system-каталоге. За это отвечаю, наша система корпоративного уровня и прочего ПО кроме нашего на клиентских компах там практически никогда не бывает установлено.
И инсталлятор FIREBIRD, генерируя gds32, прописывает его только в system-каталог, но не в каталог инсталляции FIREBIRD.

Посему самое главное, что выношу для себя из этого обсуждения - это то, что придётся в план работ по переходу на FB3 наконец-то (давно пора было) закладывать и смену имени клиента с gds32 на fbclient и поставлять нужные firebird.dll и firebird.conf в поставке ПО, т.к. проводить анализ ключика реестра и пригораживать разовую модификацию существующего firebird.conf "на лету" при каждом запуске программ будет проблематично и нецелесообразно.
А без правильного firebird.conf не будет коннекта к старым серверам, за что меня повесят на первом же фонарном столбе, т.к. апгрейды в наших многосерверных системах местные админы могут растягивать этапами на год.

Пути решения остального уже понятны.
...
Рейтинг: 0 / 0
Клиент Firebird 3 и firebird.conf: где он его ищет?
    #38777151
Фотография o_v_a
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
firebird.dll прошу считать fbclient.dll
Зарапортовался...
...
Рейтинг: 0 / 0
Клиент Firebird 3 и firebird.conf: где он его ищет?
    #38777365
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladЗаставь дурака богу молиться - он и лоб расшибёт. (ц)
Это про тебя, Дима...
Ну так нефиг советовать мышам чтобы стали ёжиками.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Клиент Firebird 3 и firebird.conf: где он его ищет?
    #38777385
Фотография o_v_a
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovНу так нефиг советовать мышам чтобы стали ёжиками.
Так и без того каждый свой кактус сам найдёт! ;)
Можно закрывать. Тема исчерпана чуть более, чем полностью.
...
Рейтинг: 0 / 0
Клиент Firebird 3 и firebird.conf: где он его ищет?
    #38777816
NickDee
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlado_v_aВ принципе, что переменную окружения добавитьЭто можно сделать как глобально (и рисковать поломать чужие программы)
Чужие программы от глобализаторов защищаются вот так:
Код: sql
1.
2.
3.
4.
5.
6.
  Windows.SetEnvironmentVariable('FIREBIRD', nil);
  Windows.SetEnvironmentVariable('ISC_USER', nil);
  Windows.SetEnvironmentVariable('ISC_PASSWORD', nil);
  Windows.SetEnvironmentVariable('FIREBIRD_MSG', nil);
  Windows.SetEnvironmentVariable('FIREBIRD_LOCK', nil);
  Windows.SetEnvironmentVariable('FIREBIRD_TMP', nil);

:)
...
Рейтинг: 0 / 0
23 сообщений из 23, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Клиент Firebird 3 и firebird.conf: где он его ищет?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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