powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Firebird 3.0 + 4.0 & on external XNET
25 сообщений из 28, страница 1 из 2
Firebird 3.0 + 4.0 & on external XNET
    #40085759
shalamyansky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На Windows Server 2012 с работающим Firebird 3.0.7 SuperServer (дюжина баз, некоторые до 1 ТБ) собираюсь установить Firebird 4.0 SuperServer для постепенного перевода баз на новые рельсы. Главное, что привлекает в новом сервере - пул коннектов on external , ибо базы активно используют такие соединения друг с другом.

Нужно организовать соединения execute statement on external между разными версиями серверов (в основном от 4.0 к 3.0). При этом хотелось бы использовать не канал TCP , а XNET , как он сейчас и работает в рамках одной версии и одного экземпляра сервера.

Вопрос 1: как мне следует задать параметры IpcName и RemotePipeName для обеих версий?

Вопрос 2: соединение от клиента. Если изменено умолчальное значение IpcName , какой должна быть строка соединения по XNET?
...
Рейтинг: 0 / 0
Firebird 3.0 + 4.0 & on external XNET
    #40085787
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
xnet в таком режиме работать не умеет, увы
...
Рейтинг: 0 / 0
Firebird 3.0 + 4.0 & on external XNET
    #40085788
shalamyansky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо.

Обидно, досадно, но ладно.
...
Рейтинг: 0 / 0
Firebird 3.0 + 4.0 & on external XNET
    #40085791
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
shalamyansky
Нужно организовать соединения execute statement on external между разными версиями серверов (в основном от 4.0 к 3.0)
Если не в "основном", а "только" от 4.0 к 3.0 (речь об xnet), то можно запустить 4 без xnet сервера (добавить ключ ком строки -i (для inet) и -w (для wnet)) и ничего не менять в конфигах.
Есс-но, 4-ка не сможет принимать коннекты по xnet, но при этом будет клиентом для 3-ки.

ps RemotePipeName не имеет отношения к xnet
...
Рейтинг: 0 / 0
Firebird 3.0 + 4.0 & on external XNET
    #40085799
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
shalamyanskyНужно организовать соединения *execute statement on external* между разными версиями
серверов (в основном от 4.0 к 3.0). При этом хотелось бы использовать не канал *TCP*, а
*XNET*, как он сейчас и работает в рамках одной версии и одного экземпляра сервера.

Устанавливаешь четвёрку, копируешь ей в plugins движок от тройки, добавляешь в его в
firebird.conf. Тройку полностью останавливаешь или даже сносишь. Всё.

Тут даже XNET строка подключения не нужна, хватит и embedded.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Firebird 3.0 + 4.0 & on external XNET
    #40085802
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не всё так просто - надо, как минимум, "мутить" с провайдерами и базой пользователей в databases.conf, чтобы тройка и четвёрка нормально сосуществовали в одном процессе.
...
Рейтинг: 0 / 0
Firebird 3.0 + 4.0 & on external XNET
    #40085819
shalamyansky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad
Если не в "основном", а "только" от 4.0 к 3.0 (речь об xnet), то можно запустить 4 без xnet сервера (добавить ключ ком строки -i (для inet) и -w (для wnet)) и ничего не менять в конфигах.

Ага, понял, отключить XNET для 4-ки как вариант. Тогда локальные клиенты пойдут к ней по TCP. М-м... надо смотреть, что эффективнее.
...
Рейтинг: 0 / 0
Firebird 3.0 + 4.0 & on external XNET
    #40085820
shalamyansky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov

Устанавливаешь четвёрку, копируешь ей в plugins движок от тройки, добавляешь в его в
firebird.conf. Тройку полностью останавливаешь или даже сносишь. Всё.

Тоже вариант, спасибо. Надо пробовать. Потренируюсь пока на кошках.
...
Рейтинг: 0 / 0
Firebird 3.0 + 4.0 & on external XNET
    #40087180
shalamyansky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А как указать серверу, какой именно движок следует применить к конкретной базе?

Добавил engine12 в список провайдеров 4.0 , engine12.dll скопировал из 3.0.7 . С базой ODS12 соединился нормально, данные читаются. Однако GSTAT говорит, что

Wrong ODS version, expected 13, encountered 12

Наверное, что-то надо серверу пояснить в databases.conf , но как именно?
...
Рейтинг: 0 / 0
Firebird 3.0 + 4.0 & on external XNET
    #40087190
shalamyansky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gbak -b от 4.0 отработал нормально на базе ODS12 , однако
gbak -b -se service_mgr заругался на версию ODS , хотя, казалось бы, логичнее было бы наоборот.

Как бы так настроить сервер 4.0 с движком engine12 для баз ODS12 , чтобы все работало?
...
Рейтинг: 0 / 0
Firebird 3.0 + 4.0 & on external XNET
    #40087196
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Никак.
gstat читает БД напрямую.
gbak - простой клиент, он подключается через то, что подсунет сервер (Y-valve).
Сервисы - изначально тупик, чтобы они заработали им надо архитектуру пределывать, чем
никто, конечно же, заниматься не будет.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Firebird 3.0 + 4.0 & on external XNET
    #40087209
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
shalamyansky
А как указать серверу, какой именно движок следует применить к конкретной базе?
Из примечаний к выпуску тройки, где и появился этот механизм:Providersin firebird.conf, all are available by default, as follows
  • #Providers = Remote,Engine12,Loopback
  • In databases.conf, one or more providers can be blocked by pasting the line from firebird.conf, uncommenting it, and deleting the unwanted provider[s].
Явно определяйте список провайдеров каждой базы в databases.conf. Умолчание (в firebird.conf) выбирайте "по принципу преобладания".
Так же можно "расписать" и базу пользователей, если не собираетесь мигрировать security3.fdb.
...
Рейтинг: 0 / 0
Firebird 3.0 + 4.0 & on external XNET
    #40087363
shalamyansky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov
Явно определяйте список провайдеров каждой базы в databases.conf.

Каким образом, какой синтаксис? Нигде не нашел ни примера, ни документации. Вот так?

Код: sql
1.
2.
3.
4.
sample12 = c:\test\sample12.fdb
{
    Providers = Remote,Engine12,Loopback
}
...
Рейтинг: 0 / 0
Firebird 3.0 + 4.0 & on external XNET
    #40087370
shalamyansky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov
  • In databases.conf, one or more providers can be blocked by pasting the line from firebird.conf, uncommenting it, and deleting the unwanted provider[s].

  • А, простите, невнимательно прочитал. Ответ получен.
    ...
    Рейтинг: 0 / 0
    Firebird 3.0 + 4.0 & on external XNET
        #40087371
    Basil A. Sidorov
    Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
    Участник
    Открываем firebird.conf ... Ищем ... Читаем ...
    Бинго! Прямо вместе с умолчаниями для версии
    Код: plaintext
    1.
    2.
    3.
    4.
    5.
    6.
    7.
    8.
    # This parameter determines what providers will be used by firebird.
    # Format is the same as for the list of plugins (see a few lines before).
    # This is not strange because internally provider is just a kind of plugin.
    #
    # Type: string
    #
    # Per-database & per-connection configurable.
    #
    #Providers = Remote,Engine13,Loopback
    ...
    Рейтинг: 0 / 0
    Firebird 3.0 + 4.0 & on external XNET
        #40087375
    shalamyansky
    Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
    Участник
    Dimitry Sibiryakov

    gstat читает БД напрямую.

    И не читает конфигурацию? По-крайней мере, databases.conf он читает, ибо прекрасно находит базу по алиасу. То есть алиас прочитал, а остальное ему безразлично? Это я уже поставил
    Код: sql
    1.
    2.
    3.
    4.
    sample12 = c:\test\sample12.fdb
    {
        Providers = Remote,Engine12,Loopback
    }
    


    и пробую. В упор не видит Engine12 . Ну, догадываюсь, наверное, с плагинами gstat не дружит, в отличие от сервера. Ладно. не критично.
    ...
    Рейтинг: 0 / 0
    Firebird 3.0 + 4.0 & on external XNET
        #40087381
    Мимопроходящий
    Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
    Участник
    30.07.2021 16:00, shalamyansky пишет:
    > В упор не видит *Engine12*. Ну, догадываюсь, наверное, с плагинами *gstat* не дружит, в отличие от сервера. Ладно. не критично.

    напрямую == не использует движок сервера.
    Posted via ActualForum NNTP Server 1.5
    ...
    Рейтинг: 0 / 0
    Firebird 3.0 + 4.0 & on external XNET
        #40087387
    hvlad
    Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
    Участник
    shalamyansky
    Dimitry Sibiryakov gstat читает БД напрямую.

    И не читает конфигурацию?А что он там должен искать ? Инструкции для менеджера плагинов (который в fbclient живёт) ?

    gstat (как и engine) не умеет работать с чужой ODS.
    В теории, если вынести работу с файлом БД (чтение и интерпретация заголовка) из gstat в engine, то "проблема" решится.
    Но я пока не вижу ни одной веской причины для такого усложнения.
    ...
    Рейтинг: 0 / 0
    Firebird 3.0 + 4.0 & on external XNET
        #40087435
    Basil A. Sidorov
    Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
    Участник
    shalamyansky
    и пробую. В упор не видит Engine12
    Заменить gstat на:
    Код: plaintext
    1.
     fbsvcmgr service_mgr user sysdba action_db_stats sts_hdr_pages dbname база [code=plaintext]?
                        
    ...
    Рейтинг: 0 / 0
    Firebird 3.0 + 4.0 & on external XNET
        #40087439
    ggreggory
    Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
    Гость
    hvlad

    gstat (как и engine) не умеет работать с чужой ODS.
    В теории, если вынести работу с файлом БД (чтение и интерпретация заголовка) из gstat в engine, то "проблема" решится.
    Но я пока не вижу ни одной веской причины для такого усложнения.


    Может уж лучше сделать gstat в виде системной таблицы/пары таблиц. Тем более, что и сейчас часть информации gstat дублируется в MON$DATABASE.
    ...
    Рейтинг: 0 / 0
    Firebird 3.0 + 4.0 & on external XNET
        #40087440
    Dimitry Sibiryakov
    Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
    Участник
    Basil A. SidorovЗаменить gstat на:
    fbsvcmgr service_mgr user sysdba action_db_stats sts_hdr_pages dbname база
    ?

    Как я уже сказал выше, с сервисами всё гораздо грустнее: они способны работать
    исключительно с первым провайдером в списке. Хотя, может, применение expected_db и поможет
    подхватить настройки для конкретной базы...
    Posted via ActualForum NNTP Server 1.5
    ...
    Рейтинг: 0 / 0
    Firebird 3.0 + 4.0 & on external XNET
        #40087441
    Фотография kdv
    Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
    Участник
    ggreggoryМожет уж лучше сделать gstat в виде системной таблицы/пары таблиц
    што???
    ...
    Рейтинг: 0 / 0
    Firebird 3.0 + 4.0 & on external XNET
        #40087442
    Dimitry Sibiryakov
    Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
    Участник
    hvladВ теории, если вынести работу с файлом БД (чтение и интерпретация заголовка) из gstat в
    engine, то "проблема" решится.

    В теории почти всё, что gstat выводит из заголовка, можно получить и через
    IAttachment::getInfo(). Добавить недостающее особого труда не составит.
    Posted via ActualForum NNTP Server 1.5
    ...
    Рейтинг: 0 / 0
    Firebird 3.0 + 4.0 & on external XNET
        #40087524
    ggreggory
    Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
    Гость
    kdv
    ggreggoryМожет уж лучше сделать gstat в виде системной таблицы/пары таблиц

    што???

    А почему бы и нет. Сейчас gstat выглядит рудиментом из прошлого. Сторонним сервисам (типа IBExpert) приходится его парсить для отображения в удобоворимом (табличном) виде. А если подобного сервиса нет, то ковыряться в том, что выдает gstat не особо приятно. Если будут системные таблицы, то будет наглядно.

    И, кстати, в 4-ой версии firebird.conf сделали в виде системной таблицы RDB$CONFIG. Вы на это "што???" - не писали? Лично я не считаю это бесполезным - пусть будет! ну и gstat тоже! :)
    ...
    Рейтинг: 0 / 0
    Firebird 3.0 + 4.0 & on external XNET
        #40087754
    Fr0sT-Brutal
    Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
    Гость
    gstat меня как-то раз сильно озадачил: статистика выводится, а база недоступна. Некоторое время тупил, только потом выяснил, что gstat не задействует сервер.
    ...
    Рейтинг: 0 / 0
    25 сообщений из 28, страница 1 из 2
    Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Firebird 3.0 + 4.0 & on external XNET
    Найденые пользователи ...
    Разблокировать пользователей ...
    Читали форум (0):
    Пользователи онлайн (0):
    x
    x
    Закрыть


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