powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Можно ли запросом получить папку куда установлен Firebird и и ещё пару параметров?
25 сообщений из 75, страница 2 из 3
Можно ли запросом получить папку куда установлен Firebird и и ещё пару параметров?
    #40073924
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Можно ли запросом получить папку куда установлен Firebird и и ещё пару параметров?
    #40073940
hlopotun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость

мне не нужно запускать резервное копирование, конечная цель запустить nbackup.exe -F путь\база.
Нужно отцепить делта файл что бы отбросить изменения в случае неудачной инсталляции.
У того же FireDAC.Phys.FB.TFDFBNBackup.Options из всех опций только noNoTriggers.
Перед этим желательно остановить FB дабы точно быть уверенным что никто не коннектится ну или базу shutdown сделать.
Я конечно сейчас роюсь во всех этих TFDIB.... но пока не вижу возможности получить путь к FB.
...
Рейтинг: 0 / 0
Можно ли запросом получить папку куда установлен Firebird и и ещё пару параметров?
    #40073942
hlopotun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
из интересного походу можно определить что база уже в backup режиме и уже пишет в delta файл
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
....................
  TIBBackupOptions = set of (boIgnoreChecksum, boIgnoreLimbo, boMetadataOnly,
    boNoGarbageCollect, boOldDescriptions, boNonTransportable, boConvert, boExpand,
    boNoTriggers, boZip);
  TIBBackupMode = (bmBackup, bmArchiveDatabase, bmArchiveJournals);
  TIBBackupStatistics = set of (bsTime, bsDelta, bsReads, bsWrites);
  TIBBackup = class (TIBService)
  private
    FMode: TIBBackupMode;
    FBackupFiles: TStrings;
    FVerbose: Boolean;
    FDatabaseName: String;
    FOptions: TIBBackupOptions;
    FEncryptKeyName: String;
    FStatistics: TIBBackupStatistics;
    FSkipData: String;
.................
...
Рейтинг: 0 / 0
Можно ли запросом получить папку куда установлен Firebird и и ещё пару параметров?
    #40073945
hlopotun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Походу можно попробовать обойтись без nbackup . Неизвестно только сохранится это смещение в базе в будующих версиях или нет.

да, не ссылка а код состояния меняется
...
Рейтинг: 0 / 0
Можно ли запросом получить папку куда установлен Firebird и и ещё пару параметров?
    #40073992
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hlopotunУ того же FireDAC.Phys.FB.TFDFBNBackup.Options из всех опций только noNoTriggers.

Вообще-то в чистом API есть опция, куда сервису можно запихать любой параметр командной
строки. Хотя лучше бы её не было.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Можно ли запросом получить папку куда установлен Firebird и и ещё пару параметров?
    #40073993
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hlopotunмне не нужно запускать резервное копирование, конечная цель запустить nbackup.exe -F
путь\база.

По-хорошему-то тебе таки как раз нужно резервное копирование, а не все эти хаки с дельтой.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Можно ли запросом получить папку куда установлен Firebird и и ещё пару параметров?
    #40074025
hlopotun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov

hlopotunУ того же FireDAC.Phys.FB.TFDFBNBackup.Options из всех опций только noNoTriggers.

Вообще-то в чистом API есть опция, куда сервису можно запихать любой параметр командной
строки. Хотя лучше бы её не было.


звучит интересно, а примера нет?
я так понимаю nbackup поже тут подпадает под термин сервиса?

Спасибо
...
Рейтинг: 0 / 0
Можно ли запросом получить папку куда установлен Firebird и и ещё пару параметров?
    #40074042
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hlopotun
мне не нужно запускать резервное копирование, конечная цель ...
... понятна. Непонятно задлянафига из возможных вариантов выбираются черезанусные?
...
Рейтинг: 0 / 0
Можно ли запросом получить папку куда установлен Firebird и и ещё пару параметров?
    #40074200
hlopotun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Basil A. Sidorov
hlopotun
мне не нужно запускать резервное копирование, конечная цель ...
... понятна. Непонятно задлянафига из возможных вариантов выбираются черезанусные?


потому что уже сто раз писал, восстановление из резервной копии слишком медленное. Она хоть и есть но быстрее отбросить дельту.
Обслужить за ночь одного клиента или десяток. В этом и есть вся суть. Что тут непонятного?
...
Рейтинг: 0 / 0
Можно ли запросом получить папку куда установлен Firebird и и ещё пару параметров?
    #40074201
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hlopotunЧто тут непонятного?

Как минимум две вещи:
1) Почему ты при "восстановлении" подразумеваешь gbak вместо nbackup.
2) Почему ты клиентов обслуживаешь строго последовательно.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Можно ли запросом получить папку куда установлен Firebird и и ещё пару параметров?
    #40074264
hlopotun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov

hlopotunЧто тут непонятного?

Как минимум две вещи:
1) Почему ты при "восстановлении" подразумеваешь gbak вместо nbackup.
2) Почему ты клиентов обслуживаешь строго последовательно.

Я вроде gbak нигде не упоминал, только nbackup, или это косвенный вывод?
Клиентов много, несколько тысяч. Обслуживают их поддержка, это несколько человек. В момент выхода новых версий процесс массовый, важно время и людские ресурсы. Всё это не дёшево и упирается во время и стоимость отсюда и желание ускорить и упростить.

п.с. хотелось бы увидеть какой то пример как из delphi ведётся работа с firebird api напрямую. Дабы не изобретать велосипед.
...
Рейтинг: 0 / 0
Можно ли запросом получить папку куда установлен Firebird и и ещё пару параметров?
    #40074266
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hlopotun

Обслужить за ночь одного клиента или десяток. В этом и есть вся суть. Что тут непонятного?

Что ты подразумеваешь под обслуживанием? И зачем это делать каждую ночь?
Если рестор для "освежения" БД, то огорчу - nbackup это не логический бэкап.
...
Рейтинг: 0 / 0
Можно ли запросом получить папку куда установлен Firebird и и ещё пару параметров?
    #40074267
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hlopotun,

открыть исходники IBX не судьба?
...
Рейтинг: 0 / 0
Можно ли запросом получить папку куда установлен Firebird и и ещё пару параметров?
    #40074270
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gallemar,

ты топик то сначала прочитай. Он хочет накатывать скрипт обновления, и если что-то пошло не так возвращать БД в исходное состояние. Бекап-рестор его не устраивает из-за долгого выполнения. Что впрочем справедливо даже для nbackup если база весит 1Тб.

hlopotun,

По моему скромному мнению трюк с отбрасыванием дельты попахивает и я сомневаюсь что он безопасен.
По идее подошло бы инкрементное копирование и восстановление прямо в базу через UUID, как это сделано в 4.0.

Ещё как вариант через асинхронную логическую репликацию 4.0. Применить журналы к реплики до накатывания изменией. Ечсли что пошло не так, просто переключится на реплику. Если всё норм применить журналы к реплики после наката изменений.

Вот только про свободное место здесь не надо заливать, те кому данные важны найдут возможность сделать хранилище бекапов, и резервные сервера, и репликацию и так далее.
...
Рейтинг: 0 / 0
Можно ли запросом получить папку куда установлен Firebird и и ещё пару параметров?
    #40074272
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hlopotunпроблема только в том что до самого fbsvcmgr добираться надо тоже имея тот же путь ....

Кто тебе мешает запустить его со своей машины? Подсказка fbsvcmgr можно запускать не обязательно из того каталога, где установлен Firebird, его можно скопировать куда угодно.
...
Рейтинг: 0 / 0
Можно ли запросом получить папку куда установлен Firebird и и ещё пару параметров?
    #40074315
hlopotun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов Денис
hlopotunпроблема только в том что до самого fbsvcmgr добираться надо тоже имея тот же путь ....


Кто тебе мешает запустить его со своей машины? Подсказка fbsvcmgr можно запускать не обязательно из того каталога, где установлен Firebird, его можно скопировать куда угодно.

установка программы всегда ведётся на той же машине где проинсталлирован сервер. Положить nbackup и прочие exe рядом с установщиком можно но это плохая практика. Т.к. в этом случае нет гарантии их соответствия той версии FB в которой ведётся обновление. Можно конечно иметь рядом утилиты сразу для нескольких версий и при инсталляции запрашивать версию у самого сервера и на её основе выбирать уже подходящие утилиты но всё это некрасиво выглядит. Руководство такое не одобрит.

Для случаев когда FB регистрируется в реестре, для поиска пути к FB, вроде более менее решение нашел. Сначала проверяются пути куда FB обычно ставит свой инсталлятор а если не находит то так:

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
      result := '';
      lPath := '';
      lRregistry := TRegistry.Create (KEY_READ);
      lDienste := TStringList.Create;
      try
        regist.RootKey := HKEY_LOCAL_MACHINE;

        If regist.OpenKey('\SYSTEM\CurrentControlSet\Services', False) Then begin
          regist.GetKeyNames (lDienste);
          regist.CloseKey;
          end;

        for lIndex := 0 to lDienste.Count - 1 do
          if StrContains ('Firebird', lDienste [lIndex]) then begin
            If regist.OpenKey('\SYSTEM\CurrentControlSet\Services\' + lDienste [lIndex], False) Then begin
              lPath := regist.GetDataAsString ('ImagePath');
              regist.CloseKey;
              if (StrContains ('fbserver.exe', lPath)) or (StrContains ('firebird.exe', lPath)) then begin
                lPath := ExtractFilePath (lPath);
                lPath := StrReplace (lPath, '"', '');
                if StrEndsWith (lPath, '\bin\') then
                  result := Copy (lPath, 0, Length (lPath)-5);
                end;
              end;
            end;
      finally
        FreeAndNil (lDienste);
        FreeAndNil (lRregistry);
      end;




Надо будет подумать ещё как действовать в случаях если FB окажется установленным кем то без регистрации в реестре. Может порты сканировать. А может просто оставить на откуп поддержке т.к. вероятность такой ситуации крайне мала.
...
Рейтинг: 0 / 0
Можно ли запросом получить папку куда установлен Firebird и и ещё пару параметров?
    #40074320
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hlopotun,

а у вас точно большая база данных? Просто у кого действительно большие базы данных, обычно есть админ и выделенный сервер. А прогу для работы юзеров никто и никогда не ставит туда же куда и сервер, хотя бы из соображений безопасности.

А если база данных не большая, то все рассуждения про долгий бекап глупости.
...
Рейтинг: 0 / 0
Можно ли запросом получить папку куда установлен Firebird и и ещё пару параметров?
    #40074321
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hlopotun,

и кстати вам советовали положить не nbackup, который не умеет работать через сервисы, а fbsvcmgr
...
Рейтинг: 0 / 0
Можно ли запросом получить папку куда установлен Firebird и и ещё пару параметров?
    #40074326
hlopotun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов Денис
hlopotun,

а у вас точно большая база данных? Просто у кого действительно большие базы данных, обычно есть админ и выделенный сервер. А прогу для работы юзеров никто и никогда не ставит туда же куда и сервер, хотя бы из соображений безопасности.

А если база данных не большая, то все рассуждения про долгий бекап глупости.


в данный момент база на которой всё тестирую 81Гб и она далеко не самая большая, причём их несколько в рамках одной инсталляции. Базы растут быстро поэтому даже у небольших клиентов вырастают до приличных размеров. И размер баз зависит не от размера клиента а от объёма поступаюших в них снаружи информации от других фирм, и этот объём для всех примерно одинаковый. Прирост примерно 40-60Гиг за пол года. Программа существует уже около 25 лет, вот и считайте. Плюс несколько тысяч клиентов и получаем нагрузку на поддержку в момент массового перехода на новую версию. Все эти танцы с бубном не на пустом месте.
...
Рейтинг: 0 / 0
Можно ли запросом получить папку куда установлен Firebird и и ещё пару параметров?
    #40074328
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
тут без программиста никак...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Можно ли запросом получить папку куда установлен Firebird и и ещё пару параметров?
    #40074334
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hlopotunЯ вроде gbak нигде не упоминал, только nbackup, или это косвенный вывод?

Прямой. Ты упоминал "долгое восстановление". Для nbackup это, во-первых, делается со
скоростью работы винта, а во-вторых - только в случае проблемы при накате обновления (а ты
ведь его тщательно протестировал чтобы такого не случалось, не так ли?..

hlopotunКлиентов много, несколько тысяч. Обслуживают их поддержка, это несколько человек.

Обслуживают лично с выездом на место? Или всё-таки удалённо через SSH?..

Симонов ДенисЧто впрочем справедливо даже для nbackup если база весит 1Тб.

Такие базы но ноутбуках не крутятся, а приличный сторадж скопирует её минут за 10.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Можно ли запросом получить папку куда установлен Firebird и и ещё пару параметров?
    #40074336
hlopotun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов Денис
hlopotun,

и кстати вам советовали положить не nbackup, который не умеет работать через сервисы, а fbsvcmgr


я так понимаю fbsvcmgr это для работы с сервисами через Firebird API? А аналог nbackup -F базаданных в API Firebird появится только в FB 4 и то не точно. Или fbsvcmgr может как то использоваться для работы с nbackup как с сервисом?
...
Рейтинг: 0 / 0
Можно ли запросом получить папку куда установлен Firebird и и ещё пару параметров?
    #40074341
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hlopotun,

fbsvcmgr - это обобщённая утилита для работы с сервисами firebird. И да через неё таки можно запускать и nbackup как сервис.
...
Рейтинг: 0 / 0
Можно ли запросом получить папку куда установлен Firebird и и ещё пару параметров?
    #40074344
hlopotun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов Денис
hlopotun,

fbsvcmgr - это обобщённая утилита для работы с сервисами firebird. И да через неё таки можно запускать и nbackup как сервис.


вот всё что nbackup может через fbsvcmgr:
fbsvcmgr-user username
-password password
-action_nbak
-action_nrest
-nbk_level n
-dbname database
-nbk_file filename
-nbk_no_triggers
-nbk_direct on|off

для опции -F вроде ничего нет.
Смотрел тут .
...
Рейтинг: 0 / 0
Можно ли запросом получить папку куда установлен Firebird и и ещё пару параметров?
    #40074345
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hlopotunдля опции -F вроде ничего нет.

Повторяю за Денисом медленно: не выпендривайся, используй с ним обычный бэкап нулевого уровня.

И за собой повторю: ты что, клиентов обслуживаешь с личным выездом к каждому?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
25 сообщений из 75, страница 2 из 3
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Можно ли запросом получить папку куда установлен Firebird и и ещё пару параметров?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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