0

我知道这个问题已经被问过了,其中一个解决方案是更改配置文件中的 WireCrypt 设置。但是,我的应用程序必须连接到使用 Firebird 3.0 db 的第三方软件,因此我无法控制数据库配置。问题是:是否有任何解决方法可以使用 Firebird Ado.net 提供程序从 .Net 应用程序连接到 firebird db(使用默认的wirecrypt 设置)?

编辑:编辑关于 Mark Rotteveel 的回答。我已经尝试过这种方法,但我无法强制通过 TCP 建立连接,而是出现错误:

无法完成对主机 \"xnet://Global\FIREBIRD\" 的网络请求。

构建器生成的连接字符串:

"server type=Embedded;initial catalog=C:\\foldername\\dbfile.ibb;data source=192.168.0.108;port number=3050;user id=****;password=****;client library=\"C:\\Program Files (x86)\\Firebird\\Firebird_3_0\\fbclient.dll\""
4

1 回答 1

0

为了能够使用有线加密,您需要更新到 Firebird ADO.net 提供程序版本 7。版本 7 添加了对有线加密的支持,请参阅Firebird 的 ADO.NET 提供程序 7.0.0.0 以获取更多信息。

旧答案

理想情况下,服务器需要配置为WireCrypt = Enabled,因为不允许客户端降级服务器的安全要求。

如果这确实不是一个选项,那么您应该尝试使用 Firebird ado.net 提供商的嵌入式服务器选项。由于嵌入式服务器使用原生 Firebird 客户端库,它也可用于连接到 Firebird 服务器,因此使用 Firebird 3 fbclient.dll 应该允许您连接。但是,我不能 100% 确定这是否真的适用于 Firebird ADO.net 提供程序,所以我将对此进行测试并稍后创建更详细的文章。

我还没有设法通过嵌入式连接到服务器,所以看起来你别无选择,只能更改服务器配置(WireCrypt = Enabled)。

于 2017-11-30T10:52:05.797 回答