c# - 使用 Firebird ado.net 提供程序在客户端和服务器上请求的有线加密级别不兼容

标签 c# firebird firebird-3.0 firebird-.net-provider

我正在使用 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/

相关文章:

c++ - 用于加密/解密的 Firebird 数据库 UDF 不释放内存

firebird - 如何创建SYSDBA以外的用户拥有的数据库?

java - WildFly 8.1.0.Final 上的 Firebird 数据源出现 "Failed to load module"错误

sql - 四舍五入到下一个十分位,减去 0.02

c# - 编译表达式比解释版本运行得慢得多

C# - 通过 HTTP 发送文件

c# - 数据库错误 : There is no row at position 0

c# - Action 委托(delegate)中的任务实例

sql - 使用 in (select ...) 子句进行查询优化

sql - 如何从命令行输入 SQL 查询,并以更简单的格式检索输出