2013-09-27 2 views
6

У меня возник вопрос о версиях клиента и сервера Firebird. Я знаю, что файл базы данных должен соответствовать серверу Firebird из-за изменений ODS. то есть Firebird рекомендует архивировать/восстанавливать файл базы данных между сервером версии 2.5.1 и 2.5.2 ...Совместимость клиента Firebird с сервером Firebird

А как насчет клиентских подключений к серверу?

Какие комбинации в порядке?

Client 2.5.2 -> Сервер 2.5.2 (должно быть в порядке;).)
Client 2.5.2 -> Сервер 2.5.1
Client 2.5.1 -> Сервер 2.5.2
Client 2.5.x -> Сервер 1,5
Client 1.5.x -> Сервер 2.5.2

есть ли какие-либо известные проблемы? Какова рекомендация Firebird? Хорошо ли всегда использовать нового официального клиента? Но из-за того, что у нас много клиентских установок, я не могу быть уверен, что сервер соответствует клиентской версии.

Надеюсь, что кто-то может дать мне совет.

+0

Есть некоторые намеки на это в примечаниях к версии [Firebird 2.5.2] (http://www.firebirdsql.org/file/documentation/release_notes/html/rlsnotes252.html). Возможно, кому-то в списках рассылки Firebird может помочь. –

ответ

5

Протокол Firebird имеет механизм управления версиями: клиент и сервер обсуждают, какую версию протокола использовать. Текущие версии сервера Firebird поддерживают все предыдущие версии протокола Firebird (вплоть до Interbase 6.0, из которых он был разветвлен). Это означает, что любая версия клиента Firebird может разговаривать с любой версией Firebird. Однако, если вы используете более старый клиент, вы не можете использовать функции, добавленные в более новые версии протокола, и вы не сможете использовать некоторые улучшения производительности в протоколе.

Итак: да, вы можете использовать более старые версии, но рекомендуется использовать последние, поскольку исправления будут исправлены, а новые функции или улучшения производительности будут добавлены.

Мой ответ применим только к соединениям TCP/IP. Для «локальных» соединений с XNET или именованными каналами я знаю, что произошли прерывания между 1.5 и 2.0, и вам может понадобиться версия клиента, соответствующая версии сервера Firebird.

Для Firebird 3, используя старые версии клиента, есть некоторые предостережения: по умолчанию Firebird 3 требует шифрования проводного протокола и нового механизма аутентификации, оба из которых были введены в Firebird 3 с проводным протоколом версии 13. Чтобы иметь возможность подключаться с более старой версией клиента необходимо будет внести следующие изменения в firebird.conf и перезапустить Firebird:

  1. Релакс требования шифрования с установкой WireCrypt = Enabled (по умолчанию Required)
  2. Включить устаревшую аутентификацию с установкой AuthServer = Srp, Legacy_Auth (по умолчанию Srp)