连接到Firebird 3的C#程序中的“远程接口拒绝连接”

时间:2017-12-13 05:46:55

标签: c# firebird firebird-3.0

从Firebird 2.5迁移到3.0后,当我尝试使用C#程序测试数据库连接时,出现“远程接口拒绝的连接”错误。

以下是测试连接的代码,当我尝试连接到firebird 2.5数据库时,我使用此代码。

~/.bashrc

1 个答案:

答案 0 :(得分:7)

对于这个答案,我假设您使用的是最近的Firebird ado.net版本(例如5.12.0.0,但至少5.0.0.0)。

Firebird 3引入了线路协议加密,默认情况下是必需的。在撰写本文时,此加密不受Firebird ado.net提供程序的支持。因此,尝试连接将失败,错误"连接被远程接口" 拒绝(错误代码335544421)。

解决方案是将Firebird配置修改为仅启用(而非要求)线路协议加密。为此,请编辑Firebird服务器的firebird.conf并将设置WireCrypt更改为WireCrypt = Enabled(如果当前以#为前缀,请删除#) ,并重新启动Firebird服务器。如果Firebird安装在Program Files中,则需要使用管理员权限运行编辑器才能正确保存文件。

请注意,在客户端和服务器之间的握手无法就某些连接和协议选项达成一致的其他情况下,也会发生此错误。