7

我有一个关于 Firebird 客户端和服务器版本的问题。我知道由于 ODS 更改,数据库文件必须与 Firebird 服务器匹配。ie Firebird 建议在 Server-Version 2.5.1 和 2.5.2 之间备份/恢复数据库文件...

但是客户端到服务器的连接呢?

哪些组合合适?

客户端 2.5.2 --> 服务器 2.5.2 (应该没问题。;))
客户端 2.5.2 --> 服务器 2.5.1
客户端 2.5.1 --> 服务器 2.5.2
客户端 2.5.x --> 服务器 1.5
客户端 1.5.x --> 服务器 2.5.2

是否有任何已知问题?Firebird 的建议是什么?为什么总是使用新的官方客户端是个好主意?但由于我们有很多客户安装,我无法确定服务器是否与客户端版本匹配。

希望有人能给我一些建议。

4

2 回答 2

6

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
于 2013-10-02T15:50:39.247 回答
0

https://i.stack.imgur.com/mxQ7S.png

  • 您无法在 v2.5 服务器上读取 v2.1v 数据库。
  • 您无法在 v2.5 服务器上读取 v1.5v 数据库。
  • 您可以在 v2.1 服务器上读取 v2.0v 数据库。
  • 您可以在 v2.1 服务器上读取 v1.5v 数据库。
于 2021-10-22T07:39:34.320 回答