2013-09-27 8 views
6

Mam pytanie dotyczące wersji klienta i serwera Firebird. Wiem, że plik bazy danych musi być zgodny z serwerem Firebird ze względu na zmiany ODS. np. Firebird zaleca tworzenie kopii zapasowych/przywracanie pliku bazy danych pomiędzy wersją serwera 2.5.1 a 2.5.2 ...Kompatybilność klienta Firebird z Firebird Server

Ale co z połączeniami klienta z serwerem?

Jakie kombinacje są w porządku?

Client 2.5.2 -> Server 2.5.2 (powinno być ok;).)
Client 2.5.2 -> Server 2.5.1
Client 2.5.1 -> Server 2.5.2
2.5.x Client -> Server 1.5
1.5.x Client -> Server 2.5.2

Czy są jakieś znane problemy? Jakie jest zalecenie Firebird? Czy to dobry powód, aby używać zawsze nowego oficjalnego klienta? Ale ponieważ mamy wiele instalacji klienta, nie mogę być pewien, że serwer jest zgodny z wersją klienta.

Mam nadzieję, że ktoś może udzielić mi porady.

+0

Istnieje kilka wskazówek na ten temat w uwagach do wydania dla [Firebird 2.5.2] (http://www.firebirdsql.org/file/documentation/release_notes/html/rlsnotes252.html). Może ktoś z list mailingowych Firebird może pomóc dalej. –

Odpowiedz

5

Protokół Firebird ma mechanizm kontroli wersji: klient i serwer negocjują wersję używanego protokołu. Obecne wersje serwerów Firebird obsługują wszystkie poprzednie wersje protokołów Firebird (do wersji Interbase 6.0, z której został rozwidlony). Oznacza to, że każda wersja klienta Firebird może komunikować się z dowolną wersją Firebird. Jeśli jednak używasz starszego klienta, nie możesz korzystać z funkcji dodanych w nowszych wersjach protokołów i nie będziesz w stanie wykorzystać niektórych ulepszeń wydajności w protokole.

Tak: tak, możesz używać starszych wersji, ale zaleca się korzystanie z najnowszych, ponieważ błędy zostały naprawione i dodano nowe funkcje lub ulepszenia wydajności.

Moja odpowiedź dotyczy tylko połączeń TCP/IP. W przypadku połączeń lokalnych z XNET lub nazwanymi potokami wiem, że nastąpiły zmiany w zakresie od 1,5 do 2,0, a może nawet potrzebna jest wersja klienta zgodna z wersją serwera Firebird.

Dla Firebird 3, używanie starszych wersji klienckich ma pewne ograniczenia: domyślnie Firebird 3 wymaga szyfrowania protokołu przewodowego i nowego mechanizmu uwierzytelniania, które zostały wprowadzone w Firebird 3 z protokołem 13. w celu umożliwienia połączenia ze starszej wersji klienta trzeba będzie wprowadzić następujące zmiany do firebird.conf i ponownie Firebird:

  1. Relax wymóg szyfrowania z ustawieniem WireCrypt = Enabled (domyślnie jest Required)
  2. Włącz uwierzytelnianie starszego z ustawieniem AuthServer = Srp, Legacy_Auth (domyślnie Srp)