我正在使用 C# 测试连接 firebird 3。我使用的版本是最新的:Firebird ADO.NET Provider 5.0。但是当您建立连接时,出现错误“客户端和服务器上请求的有线加密级别不兼容”。
在“Does Firebird ADO.NET 4.10.0.0 Data provider work with Firebird 3.0?”中,有一些关于在遗留模型中启用身份验证或创建遗留用户的建议。
但我的问题是是否真的不支持 Net Provider 5.0 版本中的新 SRP 身份验证模型?
最佳答案
问题与SRP本身无关,而是Firebird .NET provider version 5.0.0.0只增加了SRP支持,还没有实现wire协议(protocol)加密。此有线协议(protocol)加密确实(默认情况下)依赖于 SRP 作为其 session key ,但 SRP 的实现并不意味着有线协议(protocol)加密已实现。
默认情况下,Firebird 3 需要加密,但由于 Firebird .NET 提供程序版本 6 及更早版本不支持此功能,您会收到错误“客户端和服务器上请求的有线加密级别不兼容”。
要能够使用有线加密,您需要更新到 Firebird ADO.net 提供程序版本 7。版本 7 添加了对有线加密的支持,请参阅 ADO.NET provider 7.0.0.0 for Firebird is ready获取更多信息。
或者,您需要通过编辑 firebird.conf
将 Firebird 3 配置为启用但不需要加密:
WireCrypt = Enabled
然后重新启动 Firebird。
关于c# - 使用 Firebird ado.net 提供程序在客户端和服务器上请求的有线加密级别不兼容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37492890/