Firebird客户端与Firebird服务器的兼容性

时间:2013-09-27 11:29:40

标签: firebird

我对Firebird客户端和服务器版本有疑问。我知道由于ODS更改,数据库文件必须与Firebird服务器匹配。即Firebird建议在服务器版本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的推荐是什么? 总是使用新的官方客户端是一个好的原因吗?但由于我们有很多客户安装,我无法确定服务器是否与客户端版本匹配。

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

1 个答案:

答案 0 :(得分: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. 来放宽加密要求
  3. 通过设置AuthServer = Srp, Legacy_Auth(默认为Srp
  4. 启用旧版身份验证