SQLRU.net
Разработка приложений баз данных

Начало » Использование СУБД » Firebird, HQbird, InterBase » Firebird -a (как ему указать файл кофигурации)
Firebird -a [сообщение #4579] Wed, 06 March 2024 16:42 Переход к следующему сообщению
vvvait в настоящее время не в онлайне  vvvait
Сообщений: 15
Зарегистрирован: March 2023
Junior Member
Есть сервис на node. При старте он запускает рядом лежащий, но не установленный как служба, Firebird.exe -a (как приложение).
Если на компьютере уже установлен какой либо firebird, то почему-то (наверное из-за наличия в окружении переменной FIREBIRD) используется его конфиг, можно ли как-то указать какой конфиг файл нужно использовать приложению Firebird.
Еще хотелось бы узнать минимальный набор файлов для работы Firebird как приложения и можно ли выполнить nbackup -f база_данных через сервисы (node-firebird) ?
Re: Firebird -a [сообщение #4582 является ответом на сообщение #4579] Thu, 07 March 2024 01:35 Переход к предыдущему сообщениюПереход к следующему сообщению
SD в настоящее время не в онлайне  SD
Сообщений: 345
Зарегистрирован: August 2022
Senior Member
Установить для этого приложения свою собственную переменную FIREBIRD. Переменные окружения индивидуальны.
Re: Firebird -a [сообщение #4583 является ответом на сообщение #4582] Thu, 07 March 2024 07:20 Переход к предыдущему сообщениюПереход к следующему сообщению
basid в настоящее время не в онлайне  basid
Сообщений: 105
Зарегистрирован: June 2022
Географическое положение: Asia/Irkutsk
Senior Member
Ещё разумно убрать из системного или/и пользовательского окружения переменную FIREBIRD. Тут могут быть ньюансы, но, в целом, не требуется эта переменная.
Пользы от этого дела мало, а вреда, между прочим, целый вагон (анти-Коровьев).
Re: Firebird -a [сообщение #4589 является ответом на сообщение #4583] Thu, 07 March 2024 13:00 Переход к предыдущему сообщениюПереход к следующему сообщению
vvvait в настоящее время не в онлайне  vvvait
Сообщений: 15
Зарегистрирован: March 2023
Junior Member
Версия Firebird 4.0.4

И ещё, попытка запустить аналогично на linux (ubuntu) даёт такую ошибку:
Server misconfigured - to start it from (x)inetd add ServerMode=Classic to firebird.conf

код запуска:
const cwd = getFBAppDir();
const fbpath = path.join(cwd, "firebird");
const firebird = spawn(fbpath, [], { cwd });

пробовал и так:
const firebird = spawn('bash', ['-c', fbpath], { cwd });
и через exec

тоже самое

текущий конфиг:

AuthServer = Legacy_Auth
AuthClient = Legacy_Auth
UserManager = Legacy_UserManager
DataTypeCompatibility = 2.5
WireCrypt = Disabled

если запустить вручную firebird в отдельном окне, то всё работает
Re: Firebird -a [сообщение #4590 является ответом на сообщение #4589] Thu, 07 March 2024 13:23 Переход к предыдущему сообщениюПереход к следующему сообщению
vvvait в настоящее время не в онлайне  vvvait
Сообщений: 15
Зарегистрирован: March 2023
Junior Member
отвечу сам себе
в линуксе нужно запускать fbguard
Re: Firebird -a [сообщение #4595 является ответом на сообщение #4590] Thu, 07 March 2024 16:03 Переход к предыдущему сообщениюПереход к следующему сообщению
SD в настоящее время не в онлайне  SD
Сообщений: 345
Зарегистрирован: August 2022
Senior Member
Нет, не надо. Этот псевдодемон давно уже не нужен. Запускай непосредственно сервер. Только с правильным fd 0. Твой spawn почему-то вызвал удовлетворение условия
		if (os_utils::fstat(channel, &stat0) == 0 && S_ISSOCK(stat0.st_mode))
хотя по идее не должен.
Re: Firebird -a [сообщение #4606 является ответом на сообщение #4595] Mon, 11 March 2024 13:07 Переход к предыдущему сообщениюПереход к следующему сообщению
vvvait в настоящее время не в онлайне  vvvait
Сообщений: 15
Зарегистрирован: March 2023
Junior Member
C fbguard тоже странность, когда ему слёшь SIGTERM он почему-то не закрывает firebid

смог нормально запустить firebird так:

const firebird = spawn(fbpath, { cwd, stdio: ['inherit', 'inherit', 'inherit', 'ipc'] }); 
Re: Firebird -a [сообщение #4620 является ответом на сообщение #4606] Mon, 11 March 2024 15:35 Переход к предыдущему сообщению
SD в настоящее время не в онлайне  SD
Сообщений: 345
Зарегистрирован: August 2022
Senior Member
То есть как я и сказал: дал нулевому дескриптору что-то вменяемое.
Предыдущая тема: Ошибка при конкантинации двух строковых столбцов UTF8
Следующая тема: IRequest против IStatement
Переход к форуму:
  


Текущее время: Sat Apr 27 21:34:01 GMT+3 2024

Общее время, затраченное на создание страницы: 0.00857 секунд