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

есть ли возможность, имея соединение с базой данных получить следующие параметры запросом к FB.

1. Путь на диске куда установлен сам FB
2. Путь на диске к открытой в данный момент базе данных
3. Имя сервиса (если FB запущен как сервис), или признак того что FB запушен не как сервис винды.

начиная с FB 2.5

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

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

2. См. MON$DATABASE
...
Рейтинг: 0 / 0
Можно ли запросом получить папку куда установлен Firebird и и ещё пару параметров?
    #40073819
hlopotun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Шавлюк Евгений,

с базой походу так:
Код: sql
1.
2.
3.
4.
SELECT MON$ATTACHMENT_NAME
FROM MON$ATTACHMENTS
WHERE MON$STATE = 1
and MON$ATTACHMENT_ID = current_connection
...
Рейтинг: 0 / 0
Можно ли запросом получить папку куда установлен Firebird и и ещё пару параметров?
    #40073823
Шавлюк Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hlopotun,

нет, не правильно. Проверь подключение при использовании alias
...
Рейтинг: 0 / 0
Можно ли запросом получить папку куда установлен Firebird и и ещё пару параметров?
    #40073824
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если ты подключился к базе с указанием полного пути, то да. Но... ты же понимаешь, что это
идиотизм?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Можно ли запросом получить папку куда установлен Firebird и и ещё пару параметров?
    #40073825
Шавлюк Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я не помню как было в 2.5, но в 3.0 в MON$DATABASE отображается реальный путь к БД
...
Рейтинг: 0 / 0
Можно ли запросом получить папку куда установлен Firebird и и ещё пару параметров?
    #40073829
hlopotun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Шавлюк Евгений
Я не помню как было в 2.5, но в 3.0 в MON$DATABASE отображается реальный путь к БД

в доке для 3ки стоит что полный путь, а в доке по 2.5 вообще не могу упоминание найти по MON$DATABASE
...
Рейтинг: 0 / 0
Можно ли запросом получить папку куда установлен Firebird и и ещё пару параметров?
    #40073851
Barmaley57
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Шавлюк Евгений
но в 3.0 в MON$DATABASE отображается реальный путь к БД
Прелестно!
...
Рейтинг: 0 / 0
Можно ли запросом получить папку куда установлен Firebird и и ещё пару параметров?
    #40073855
Шавлюк Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Barmaley57,

в README.monitoring_tables.txt
автор MON$DATABASE_NAME (database pathname or alias )
в Firebird_3_0_Language_Reference_RUS.pdf указано:
стр. 699"Полный путь и имя первичного файла базы данных или псевдоним базы данных."
Еще полный путь к БД можно увидеть в MON$ATTACHMENTS для пользователей "Cache Writer" и "Garbage Collector"

Бага?
...
Рейтинг: 0 / 0
Можно ли запросом получить папку куда установлен Firebird и и ещё пару параметров?
    #40073861
Barmaley57
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Шавлюк Евгений
Еще полный путь к БД можно увидеть в MON$ATTACHMENTS для пользователей "Cache Writer" и "Garbage Collector"
"Рядовой" пользователь видит здесь только свой коннект. А вот в MON$DATABASE он видит полный путь к БД, хотя подключен через алиас....
...
Рейтинг: 0 / 0
Можно ли запросом получить папку куда установлен Firebird и и ещё пару параметров?
    #40073877
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hlopotun
1. Путь на диске куда установлен сам FB
2. Путь на диске к открытой в данный момент базе данных
слегка отредактировано
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
fbsvcmgr -?|findstr info_
 info_server_version
 info_implementation
 info_user_dbpath
 info_get_env
 info_get_env_lock
 info_get_env_msg
 info_svr_db_info  # всегда пусто для классика
 info_version
 info_capabilities

> fbsvcmgr service_mgr user sysdba^
 info_get_env^
 info_get_env_lock^
 info_server_version^
 info_capabilities

Server root: C:\Program Files\FB\3.0.7\
Path to lock files: C:\ProgramData\firebird\
Server version: WI-V3.0.7.33368 Firebird 3.0
Server capabilities:
  REMOTE_HOP_SUPPORT
  QUOTED_FILENAME_SUPPORT
...
Рейтинг: 0 / 0
Можно ли запросом получить папку куда установлен Firebird и и ещё пару параметров?
    #40073886
hlopotun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ок, понятно что через запрос гарантированно получить правильный путь нельзя.

тогда если есть доступ к реестру и известен порт на котором сидит FB можно как то вычислить к нему путь и название сервиса?

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

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

По реестру вообще ничего нельзя вычислить.

hlopotunчтобы добратся до nbackup и/или gfix

И что ты с ними собрался делать на удалённой-то машине?

Всё, что ты хочешь сделать, делается через сервисы и/или обычное подключение.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Можно ли запросом получить папку куда установлен Firebird и и ещё пару параметров?
    #40073896
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hlopotun
чтобы добратся до nbackup и/или gfix
читайте доки - они рулез
Код: plaintext
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.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
Usage: fbsvcmgr manager-name switches...
...
action_properties:
    dbname [string value]
    prp_page_buffers [int32 value]
    prp_sweep_interval [int32 value]
    prp_shutdown_db [int32 value]
    prp_deny_new_transactions [int32 value]
    prp_deny_new_attachments [int32 value]
    prp_set_sql_dialect [int32 value]
    prp_access_mode [prp_am_readonly | prp_am_readwrite]
    prp_reserve_space [prp_res_use_full | prp_res]
    prp_write_mode [prp_wm_async | prp_wm_sync]
    prp_activate
    prp_db_online
    prp_force_shutdown [int32 value]
    prp_attachments_shutdown [int32 value]
    prp_transactions_shutdown [int32 value]
    prp_shutdown_mode [prp_sm_normal | prp_sm_multi | prp_sm_single | prp_sm_full]
    prp_online_mode [prp_sm_normal | prp_sm_multi | prp_sm_single | prp_sm_full]
    prp_nolinger
action_repair:
    dbname [string value]
    rpr_commit_trans [int32 value]
    rpr_rollback_trans [int32 value]
    rpr_recover_two_phase [int32 value]
    rpr_commit_trans_64 [int64 value]
    rpr_rollback_trans_64 [int64 value]
    rpr_recover_two_phase_64 [int64 value]
    rpr_check_db
    rpr_ignore_checksum
    rpr_kill_shadows
    rpr_mend_db
    rpr_validate_db
    rpr_full
    rpr_sweep_db
    rpr_list_limbo_trans
    rpr_icu
...
action_nbak:
    dbname [string value]
    nbk_file [string value]
    nbk_level [int32 value]
    nbk_no_triggers
    nbk_direct [string value]
action_nrest:
    dbname [string value]
    nbk_file [string value]
...
...
Рейтинг: 0 / 0
Можно ли запросом получить папку куда установлен Firebird и и ещё пару параметров?
    #40073898
hlopotun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Basil A. Sidorov
hlopotun
чтобы добратся до nbackup и/или gfix
читайте доки - они рулез
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Usage: fbsvcmgr manager-name switches...
...
action_properties:
    dbname [string value]
.......
action_nrest:
    dbname [string value]
    nbk_file [string value]
...

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

Зачем надо запускать именно на сервере?

Вот тебе 100 рублей на хлеб, и вот 100 рублей на молоко, смотри, не перепутай! (ц)
...
Рейтинг: 0 / 0
Можно ли запросом получить папку куда установлен Firebird и и ещё пару параметров?
    #40073901
hlopotun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
походу надо как то напрямую обращаться из программы к firebird api сервисам
...
Рейтинг: 0 / 0
Можно ли запросом получить папку куда установлен Firebird и и ещё пару параметров?
    #40073903
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вах! Из Application таки надо использовать Application Programming Interface. Кто бы мог
подумать?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Можно ли запросом получить папку куда установлен Firebird и и ещё пару параметров?
    #40073908
hlopotun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov

Вах! Из Application таки надо использовать Application Programming Interface. Кто бы мог
подумать?..

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

вот тут вроде что то есть
...
Рейтинг: 0 / 0
Можно ли запросом получить папку куда установлен Firebird и и ещё пару параметров?
    #40073915
Шавлюк Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Можно ли запросом получить папку куда установлен Firebird и и ещё пару параметров?
    #40073916
hlopotun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
блин, оно с JediApi_Dynamic, JwaWindows ... замешано.
В этом проекте jedi нельзя использовать ... :(
...
Рейтинг: 0 / 0
Можно ли запросом получить папку куда установлен 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
Можно ли запросом получить папку куда установлен Firebird и и ещё пару параметров?
    #40074347
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hlopotun,

ну тогда забудь, из программы ты эту хрень через Service API тоже не вызовешь. В 4.0 эта опция доступна.

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

ты слишком вежлив и благодушен.
а я скажу проще: КГ/АМ.
во полымя!
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Можно ли запросом получить папку куда установлен Firebird и и ещё пару параметров?
    #40074374
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hlopotun
установка программы всегда ведётся на той же машине где проинсталлирован сервер
... т.е. локально.
Если у ваших компонент нет "обёрток" для сервисов, то держите минимум клиентских файлов от тройки и запрашиваете каталог установки "этим комплектом". Дальше, вроде бы, очевидно.

P.S.
Оно, вообще-то, изначально должно быть очевидно - вполне обычная процедура "начальной загрузки".
...
Рейтинг: 0 / 0
Можно ли запросом получить папку куда установлен Firebird и и ещё пару параметров?
    #40074381
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис
Gallemar,
ты топик то сначала прочитай. Он хочет накатывать скрипт обновления, и если что-то пошло не так возвращать БД в исходное состояние. Бекап-рестор его не устраивает из-за долгого выполнения. Что впрочем справедливо даже для nbackup если база весит 1Тб.


Читал, и ещё два, куда он со своим бредом полез. Я не сразу соотнес зачем ему ещё и путь до nbackup находить. Видимо не пытается идти простым путем и сочиняет "стоя в гамаке и на лыжах". Я перед апдейтом всегда делал файловую копию бд - и дешево, и сердито, и сломать не страшно.
...
Рейтинг: 0 / 0
Можно ли запросом получить папку куда установлен Firebird и и ещё пару параметров?
    #40074569
fraks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gallemar
Я перед апдейтом всегда делал файловую копию бд - и дешево, и сердито, и сломать не страшно.


Вообще-то, тут тоже бывает страшно. Если копируешь базу к которой есть коннекты.

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

Вообще-то, тут тоже бывает страшно. Если копируешь базу к которой есть коннекты.

Что страшного? Удалил всех из mon$attachments, остановил службу, переименовал алиас/бд и вперед.

А копировать базу к которой есть обращения никогда привычки не было, ни сейчас, но десять лет назад.
...
Рейтинг: 0 / 0
Можно ли запросом получить папку куда установлен Firebird и и ещё пару параметров?
    #40074596
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fraks
Вообще-то, тут тоже бывает страшно. Если копируешь базу к которой есть коннекты.
Есть shutdown, есть nbackup. Чего бояться-то ?
...
Рейтинг: 0 / 0
Можно ли запросом получить папку куда установлен Firebird и и ещё пару параметров?
    #40074669
m7m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Извините, но я вообще не понимаю как/почему при файловом копировании может "сломаться" исходная база
...
Рейтинг: 0 / 0
Можно ли запросом получить папку куда установлен Firebird и и ещё пару параметров?
    #40074683
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Исходную базу он сломал смелыми экспериментами накатывая скрипты апдейтов на неё вместо
копии (как поступили бы более опытные люди).
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Можно ли запросом получить папку куда установлен Firebird и и ещё пару параметров?
    #40074686
WildSery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
m7m
Извините, но я вообще не понимаю как/почему при файловом копировании может "сломаться" исходная база
Ничего удивительного.
...
Рейтинг: 0 / 0
Можно ли запросом получить папку куда установлен Firebird и и ещё пару параметров?
    #40074696
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
m7m
Извините, но я вообще не понимаю как/почему при файловом копировании может "сломаться" исходная база


Это боевая история kdv, он вроде как видел человека, который умудрился так сломать. Официального подтверждения этому нет, скорее всего тогда звезды так сошлись.
...
Рейтинг: 0 / 0
Можно ли запросом получить папку куда установлен Firebird и и ещё пару параметров?
    #40074703
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gallemar,

это не только "моя история".
Подобная фигня происходила еще с InterBase 4 на винде, т.е. лет 20-25 назад.
Потом, периодически у разных людей. Поскольку событие никто никогда не протоколировал, воспроизвести невозможно.

Тем не менее, буквально неделю назад к нам обратились с поломанной базой в 53 гиг. Говорят, что "скопировали файл БД из виртуальной машины". Копия и оригинал базы убиты напрочь (почти всё нулями прописано), ремонту не подлежат.

m7m я вообще не понимаю как/почему при файловом копировании может "сломаться" исходная база
я тоже не понимаю. Но как-то ломается. Но не при nbackup lock - в это время не идет запись в базу.
...
Рейтинг: 0 / 0
Можно ли запросом получить папку куда установлен Firebird и и ещё пару параметров?
    #40074711
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv
Копия и оригинал базы убиты напрочь (почти всё нулями прописано), ремонту не подлежат.

Вывод какой - не копируем базу без nbackup lock или вообще останавливаем сервис.
...
Рейтинг: 0 / 0
Можно ли запросом получить папку куда установлен Firebird и и ещё пару параметров?
    #40074713
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
01.06.2021 14:33, Gallemar пишет:
>
> Вывод какой - не копируем базу без nbackup lock или вообще останавливаем сервис.

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

Дядя Саша, ты чего сразу за ремень хватаешься? Шатдаун есть, но у меня при нагрузке он проходит по часу, ждать не всегда есть время. Так что только стоп сервиса и спасал.
...
Рейтинг: 0 / 0
Можно ли запросом получить папку куда установлен Firebird и и ещё пару параметров?
    #40074745
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GallemarВывод какой - не копируем базу без nbackup lock или вообще останавливаем сервис.
тут, как бы, возражений нет, потому что даже если "копирование на ходу" не убьет оригинал, то копия-то всё равно будет кривая.
...
Рейтинг: 0 / 0
Можно ли запросом получить папку куда установлен Firebird и и ещё пару параметров?
    #40074763
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv, а какие могут быть возражения? Вообще что за прикол с firebird - вот файл, давайте его на горячую скопируем? С другими СУБД также поступают?
...
Рейтинг: 0 / 0
Можно ли запросом получить папку куда установлен Firebird и и ещё пару параметров?
    #40074826
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gallemar,

у других субд с выключенным сервером база если и копируется, то после этого копия "не работает". Поэтому копирование всегда специальное.
По идее, файлы базы postgresql можно скопировать при рабочем сервере с тем же успехом что и на Firebird (в смысле, что файлы будут битые и что это работать не будет). Другое дело, что у ФБ база это "просто один файл", что делает идею копирования кажущеся простой.
...
Рейтинг: 0 / 0
Можно ли запросом получить папку куда установлен Firebird и и ещё пару параметров?
    #40074848
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvу других субд с выключенным сервером база если и копируется, то после этого копия "не
работает".

Да ну, ты брось. Скопированной базы может не оказаться в системных каталогах, так что
понадобятся пляски с её подключением, но на всех известных мне СУБД копирование файлов при
остановленном сервере вполне обычный (а у некоторых даже единственный) создать резервную
копию. Слон - не исключение.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Можно ли запросом получить папку куда установлен Firebird и и ещё пару параметров?
    #40074921
fraks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gallemar
fraks

Вообще-то, тут тоже бывает страшно. Если копируешь базу к которой есть коннекты.

Что страшного? Удалил всех из mon$attachments, остановил службу, переименовал алиас/бд и вперед.


Проблема из-за того что остановить службу в моем случае было нельзя.
На сервере много баз, с которыми работают. А мне нужно было скопировать только одну.
Повезло что эта база сама по себе была копией базы из филиала, и я ничего в итоге не потерял.
Но если бы это была боевая база - тады был бы ой. Бэкап конечно был, но потерять полдня работы/изменений - ничего хорошего в этом нет.
...
Рейтинг: 0 / 0
Можно ли запросом получить папку куда установлен Firebird и и ещё пару параметров?
    #40074922
fraks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad
fraks
Вообще-то, тут тоже бывает страшно. Если копируешь базу к которой есть коннекты.
Есть shutdown, есть nbackup. Чего бояться-то ?


nbackup - тогда не было. Не помню что был за сервер, Interbase/Yaffil/Firebird.
shutdown - бояться других SYSBDA :)
...
Рейтинг: 0 / 0
Можно ли запросом получить папку куда установлен Firebird и и ещё пару параметров?
    #40074923
fraks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov

Исходную базу он сломал смелыми экспериментами накатывая скрипты апдейтов на неё вместо
копии (как поступили бы более опытные люди).

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


Нужно накатить обновления на базу.
На случай если что-то пойдет не так - нужно сделать бэкап.
Но у firebird есть/был такой прикол - невосстановимый бэкап.
Поэтому, кроме бэкапа делаем файловую копию.
Но в процессе копирования кто-то успел подцепиться к базе.

Поэтому как минимум переименовывать, перед тем как что-то делать с файлом.
...
Рейтинг: 0 / 0
Можно ли запросом получить папку куда установлен Firebird и и ещё пару параметров?
    #40074930
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fraks
Но у firebird есть/был такой прикол - невосстановимый бэкап.
Есть, проверяется тестовым восстановлением.Поэтому, кроме бэкапа делаем файловую копию.
Но в процессе копирования кто-то успел подцепиться к базе.Переводим базу в режим "только чтение" и спим копируем спокойно.
Переключение в R/O, заодно, проверяет отсутствие подключений к базе "прямщас".
...
Рейтинг: 0 / 0
Можно ли запросом получить папку куда установлен Firebird и и ещё пару параметров?
    #40074939
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fraks
hvladЕсть shutdown, есть nbackup. Чего бояться-то ?


nbackup - тогда не было. Не помню что был за сервер, Interbase/Yaffil/Firebird.
shutdown - бояться других SYSBDA :)full shutdown - и никаких других SYSDBA.
...
Рейтинг: 0 / 0
75 сообщений из 75, показаны все 3 страниц
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Можно ли запросом получить папку куда установлен Firebird и и ещё пару параметров?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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